正确的。所以我试着这样做:
String^ ai = textBox4->Text;
char* towrite = (char*) Marshal::StringToHGlobalAnsi(ai ).ToPointer();
Marshal::FreeHGlobal(IntPtr(towrite));
string write = string(towrite);
ofstream filea;
filea.open("Logtoreadfrom.txt");
filea<< write;
filea.close();
我正在尝试将文本从textBox4复制到我创建的文件中。
我将文本框中的文本设置为托管字符串"ai“,通过从StringToHGlobalAnsi命令编组将其转换为字符写入,然后将非托管字符串写入定义为字符写入
我定义filea,创建filea,写入文件a,关闭文件a。
当我打开filea时,我的结果通常由与我输入的文本无关的随机字母组成。
我想我做错了什么,所以谁能指出我在哪里?
发布于 2012-01-07 08:18:06
释放包含非托管字符串的内存,然后尝试使用它。试试这个:
String^ ai = textBox4->Text;
char* towrite = (char*) Marshal::StringToHGlobalAnsi(ai ).ToPointer();
string write = string(towrite);
Marshal::FreeHGlobal(IntPtr(towrite));
ofstream filea;
filea.open("Logtoreadfrom.txt");
filea<< write;
filea.close();
https://stackoverflow.com/questions/8766135
复制相似问题