您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> C++以binary方式打开文件流的问题

C++以binary方式打开文件流的问题

来源:网络整理     时间:2016/8/31 22:54:58     关键词:

关于网友提出的“ C++以binary方式打开文件流的问题”问题疑问,本网通过在网上对“ C++以binary方式打开文件流的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: C++以binary方式打开文件流的问题
描述:

string s_in="1.txt";
string s_out="2.txt";
string s;
ifstream infile(s_in.c_str(),fstream::binary);
//ifstream infile(s_in.c_str());
ofstream outfile(s_out.c_str());
while(!infile.eof())
{
getline(infile,s);
outfile<<>
cout<<>
}
infile.close();
outfile.close();

1.txt中的内容是
Moco
Hua

按照getline()函数忽略换行符,应该输出一个字符串,输出到2.txt中是一条字符串,但是从2.txt中复制到notepad++中又变回了两行。而如果用默认方式打开文件则还是一行。(中间两个是以binary方式打开文件所得)
 C++以binary方式打开文件流的问题 C++以binary方式打开文件流的问题 C++以binary方式打开文件流的问题 C++以binary方式打开文件流的问题 C++以binary方式打开文件流的问题
解决方案1:

推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose  //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了


以上介绍了“ C++以binary方式打开文件流的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3689628.html

相关图片

相关文章