2 mangguo0824 mangguo0824 于 2016.01.24 14:57 提问

CFile写数据到文件中的问题

使用CFile读写文件,将计算的多个类型结果(有long 、int、cstring、double)输入到文本中的一行内,并用“,”隔开,形成csv格式。例如结果是:
文件名:aaa.xxx,eee, A:12%, B:15% , C:35%,D:38%,请教怎么写入文本。难道非要转换格式再输入,就不能像fwite一样一次写入文件中,aaa.xxx A:12%, B:15% , C:35,D:38%,而且还要采用seekend()追加的方式进行吗
图片说明

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.25 06:37

你要的这个无非就是写csv文件(逗号分隔列,按行存储的文本数据)
参考:http://blog.sina.com.cn/s/blog_4900be890100ws85.html

zhao4zhong1
zhao4zhong1   Rxr 2016.01.25 10:31

推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

不要把
fopen("...","...");fscanf,fprintf,fgets,fgetc,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...[color=#FF0000][size=24px]b[/size][/color]");fseek,ftell,fread,fwrite,fgetc,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

mangguo0824
mangguo0824 谢谢您
接近 2 年之前 回复
91program
91program   Ds   Rxr 2016.01.24 15:14

写入肯定是可以一次的,关键是写入前你要将需要写入的数据准备好。
肯定是需要格式化成字符串的,否则你打开文件就看不到你想要的结果。

至于是否需要 seekend,取决于你是否关闭后、再打开文件,向文件最后增加数据?如果需要,则可以使用追加的方式打开。

mangguo0824
mangguo0824 是不是应该申请缓冲区,将这些写入的信息放进缓冲区,然后再写进TXT
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!