CE下字符串写入文件出错,怎么办那?
我在CE下要向文件里写一些字符串。可是写入的时候出错,我以前用这代码在WIN32下好使的。请问怎么办
CStdioFile* pFile = new CStdioFile(FileName,CFile::modeWrite|CFile::modeCreate);
CString code;
code.Format(L "P0%d X%f, Y%f, Z%f, U%f, V%f, W%f, R%f, S%f, H%d \n ",
count,angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],
angle[6],speed,hand);
pFile-> WriteString(code);//这里提示错误说没有此函数,怎么办那
pFile-> Close();
delete pFile;
我又用另一种方法写了下
CFile myFile(FileName, CFile::modeCreate | CFile::modeReadWrite);
CArchive arStore(&myFile, CArchive::store);
code.Format(L "P0%d X%f, Y%f, Z%f, U%f, V%f, W%f, R%f, S%f, H%d \n ",
count,angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],
angle[6],speed,hand);
arStore.WriteString(code);
arStore.Close();
这样可以写进去了但是,写到里面的数据每个字符间都有个空格,如何解决那,请高手教我了。谢谢!
[解决办法]
有空格(基本不影响文件读写的,不过如果写到xml文件中可能会有问题)是因为你写进去的是unicode的字符,把code里面的内容转化成char类型的保存到文件中就ok了
[解决办法]
多字节和宽字符之间转换的函数:mbstowcs, mbtowc, wcstombs, wctomb.
mbstowcs---Convert a multi-byte(ANSI) string to wide character stirng(Unicode).
wcstombs---Convert a wide character string to multi-byte string.