我正在尝试从VC ++中的textBox写入文本文件,但是文件中写入的数据不正确,而且每次都不同。
DWORD wmWritten;
textBox1->Text = "7.5";
array<Char>^ char_array1 = textBox1->Text->ToCharArray();
HANDLE hFile = CreateFile(L"C:\\MyData\\Performance\\info.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
BOOL bErrorFlag = WriteFile(hFile, &char_array1, (DWORD)(sizeof(char_array1)), &wmWritten, NULL);
结果:Œó -
有什么问题?
答案 0 :(得分:0)
如果没有必要,请不要混合托管和非托管类型
我无法达成一致。托管类是.NET类,由垃圾收集等处理。非托管类或本机类是传统的C ++类,您必须管理所有内存。
在这种情况下,您可以使用托管代码执行所有操作。浏览C#网页,了解如何输出到文件,然后在C ++ / CLI中编写相应的代码。
例如,此链接在此处:
是我通过谷歌搜索找到的东西&#34; C#File IO&#34;。您可以单击那里的选项卡以查看C#中的代码片段或C ++中的代码片段(这里是C ++ CLI)。基本上,你想要这个:
String^ path = "c:\\temp\\MyTest.txt";
if ( !File::Exists( path ) )
{
// Create a file to write to.
StreamWriter^ sw = File::CreateText( path );
try
{
//sw->WriteLine( "Hello" );
//sw->WriteLine( "And" );
//sw->WriteLine( "Welcome" );
sw->Write(textBox1->Text);
}
finally
{
if ( sw )
delete (IDisposable^)(sw);
}
}