右侧。所以我试着这样做:
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命令的编组将其转换为char towrite,然后,我将非托管字符串write定义为char towrite
我定义filea,我创建filea,我写信给文件a,我关闭文件a.
当我打开filea时,我的结果通常由和我输入的文本无关的随机字母组成。
我想我做错了什么,有人能指出在哪里吗?
释放包含非托管字符串的内存,然后尝试使用它
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();