vc++ mfc 如何将数据一行行的写入指定文件中
4个回答
展开全部
fwrite() 用于 2 进制文件输出,一般不需要把数据一行行分开,因为分行的2 进制文件,再次用于输入时,你还要考虑 CR,LF 占位,增添麻烦。
2 进制文件,除ASCII字符串可以肉眼识别,数据用肉眼是不能识别的。
下面给你一个fwrite() 例子:
FILE *fp;
int x=1,y=2;
char crlf[]="\r\n";
fp = fopen ( "a.bin" , "wb" ); // 打开文件,文件名 a.bin, 2进制,写文件
fwrite (&x, sizeof(int),1 , fp ); // 输出 x
fwrite (crlf, sizeof(crlf),1 , fp ); // 输出 回车换行符号
fwrite (&y, sizeof(int) ,1, fp ); // 输出 y
fwrite (crlf, sizeof(crlf),1 , fp ); // 输出 回车换行符号
fclose (fp); // 关闭文件,写EOF
你可以在DOS窗打命令
more a.bin
或 type a.bin
或 其它方法看回车换行
-----------------
另外,MFC 程序 标准做法,是 在 你的 CDoc 中 Serialize 那里输入输出
void CHgziliDoc::Serialize(CArchive& ar)
{
。。。。
}
用fwrite 你要自己 安排 在哪里 打开文件,在哪里 输出,用不用 MFC 的打开文件 标准对话窗。
2 进制文件,除ASCII字符串可以肉眼识别,数据用肉眼是不能识别的。
下面给你一个fwrite() 例子:
FILE *fp;
int x=1,y=2;
char crlf[]="\r\n";
fp = fopen ( "a.bin" , "wb" ); // 打开文件,文件名 a.bin, 2进制,写文件
fwrite (&x, sizeof(int),1 , fp ); // 输出 x
fwrite (crlf, sizeof(crlf),1 , fp ); // 输出 回车换行符号
fwrite (&y, sizeof(int) ,1, fp ); // 输出 y
fwrite (crlf, sizeof(crlf),1 , fp ); // 输出 回车换行符号
fclose (fp); // 关闭文件,写EOF
你可以在DOS窗打命令
more a.bin
或 type a.bin
或 其它方法看回车换行
-----------------
另外,MFC 程序 标准做法,是 在 你的 CDoc 中 Serialize 那里输入输出
void CHgziliDoc::Serialize(CArchive& ar)
{
。。。。
}
用fwrite 你要自己 安排 在哪里 打开文件,在哪里 输出,用不用 MFC 的打开文件 标准对话窗。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是加\r\n才对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每行数据最后加 \n\r
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写/n/t就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询