一套Windows上C C 的編碼轉換函式

2021-09-25 15:46:14 字數 1436 閱讀 4391

所以把常用的轉換封裝一下,用c的語法實現。支援c/c++

注意這些函式都會在堆中建立並返回新的字串,所以返回的字串在使用完以後要顯示銷毀使用free(***)否則會造成記憶體洩漏。

第一條巨集是取消煩人的vs編譯器強制要求使用***_s函式的巨集。如果在非vs編譯器下會被自動忽略。

#define _crt_secure_no_warnings

#include

#include

#include

#define buff_size 1024

wchar_t * ansitounicode(

const

char* str)

char * unicodetoansi

(const

wchar_t* str)

wchar_t * utf8tounicode(

const

char* str)

char * unicodetoutf8

(const

wchar_t* str)

/*寬字元轉換為多字元unicode - ansi*/

char* w2m

(const

wchar_t* wcs)

/*多字元轉換為寬字元ansi - unicode*/

wchar_t* m2w(

const

char* mbs)

char* ansitoutf8

(const

char* str)

char* utf8toansi

(const

char* str)

intmain

()

///*後續處理*/

//fclose(input);

//fclose(inputa);

//fclose(inputw);

//free(buf);

char str =

"多選控制項";

char * buf = ansitoutf8(str);

byte pbuf[

255];

memcpy(pbuf, buf,

strlen(buf) +

1);int i =

0;char outbuff[buff_size];

file* outfile = fopen(

"out.txt",

"wb");

while (pbuf[i])

sprintf(outbuff,

"0x00}");

fputs(outbuff, outfile);

fclose(outfile);

free(buf);

return

0;

}

如何在Windows上搭建一套Linux環境

原理很簡單,找到windows版本的linux工具集,比如wget.exe vim.exe scp.exe grep.exe等等,以及windows版本的指令碼直譯器sh.exe。如何在windows下寫linux的shell指令碼,並執行呢?按照shell指令碼的語法規則寫乙個.sh字尾的指令碼,...

同一套code上建立新的project

隨著專案越來越多,伺服器的磁碟空間捉襟見肘,這個指令碼是在同一套code上建立新的project,這樣可以根據不用的配置build不同的project,這樣就能大大的節省磁碟空間了。把這個指令碼放在alps的跟目錄下。執行方式 autoclone project1 projcet2 project1...

分享一套 C C 開源即時通訊軟體

之所以在這裡發,是希望更多的人能夠使用這個軟體而不要浪費時間在重新開發上。freeeim 企業的即時通訊軟體源 2010年8月份最新版 簡單介紹 之前第一發布的 freeeim 飛鴿傳書開源公告得到了不少人的關注,因此得到了許多 c 愛好者的加入,所以我們繼續努力,在原來 的基礎上進行優化改進,穩定...