字元指標與字串變數的轉換

2021-06-16 04:28:45 字數 1150 閱讀 5895

vc.net中的string類是利用unicode字符集編碼來表示文字。unicode字符集中每個字元(漢字、英文本母)都佔2個位元組,且其字串是以2個連續的/0結尾的。

ansi的ascii字符集是最常見的字符集,常用於表示txt的文字檔案。在ascii字符集中英文佔乙個位元組,漢字2個位元組,且其字串是以乙個/0結尾的。

在利用vc.net進行混合程式設計時,經常需要實現string與char*的互轉,例如在textbox控制項中輸入的text作為fopen或者createfile的檔名引數時,常需要實現char*的轉化。故提供如下的轉化方法:

#include "stdafx.h"

#include

#include

int main(array^args)

ourcestrlen] = '/0';

::widechartomultibyte(cp_acp, null, pwszstr, -1, szdestoutchar, 256, null, null);

// char* converts to string^

char* szinsrcchar =  "c://documents and settings//adiminstrator//我的文件";

int wcslen = ::multibytetowidechar(cp_acp, null, szinsrcchar, strlen(szinsrcchar), null, 0);

wchar_t* wszstr = new wchar_t[wcslen + 1];

::multibytetowidechar(cp_acp, null, szinsrcchar, strlen(szinsrcchar), wszstr, wcslen);

wszstr[wcslen] = '/0';

string^ clroutstr = gcnew string(wszstr);

system::console::writeline("press enter key to exit !");

system::console::read();

delete pwszstr

delete wszstr;

return 0;

} 詳細出處參考:

詳細出處參考:

詳細出處參考:l

字串指標變數與字元陣列的區別

使用字串指標變數與字元陣列的區別 1 分配記憶體 設有定義字元型指標變數與字元陣列的語句如下 char pc str 100 則系統將為字元陣列str分配100個位元組的記憶體單元,用於存放100個字元。而系統只為指標變數pc分配4個儲存單元,用於存放乙個記憶體單元的位址。2 初始化賦值含義 字元陣...

字元指標與字串

例項1 include using namespace std int main 執行結果 error 例項2 include using namespace std int main 執行結果 helloworld例項3 include using namespace std int main 執...

結構體指標與字串轉換

結構體指標與字串的轉換 不對 結構體本身就是字串,結構體的記憶體位址和第乙個成員變數的記憶體位址的關係?結構體指標和別的結構體指標之前的轉換,強制型別轉化 結構體,字串,指標 結構體裡面定義 結構體本身型別的成員,會出現問題,因為這樣沒有辦法確認結構體的大小,如果是指標就是4byte,但如果是結構體...