CSDN博客

img bosses

利用stl函数读取文件内容的问题

发表于2004/10/21 17:38:00  1184人阅读

分类: C++

昨天一个朋友在用stl中的函数来读取文件内容到一个char数组里去。
使用的方法是:
    ifstream btfile("1.txt");
     ostringstream temp;
    temp<<btfile;
发现之读进来8个byte。

于是换为:
    ifstream btfile("1.txt");
     ostringstream temp;
    temp<<btfile.rdbuf();
这下好象对了,不过后来一对照发现还是少读了一些字符。经过一阵调试和研究,发现1.txt中含有一些中文字符,这些中文字符全部都丢掉了。

最后,终于找到了正确的方法:
    ifstream btfile("1.txt",ios_base::binary);
     ostringstream temp;
    temp<<btfile.rdbuf();
就是使用binary格式,而不是text格式来读取文件。这个方法和用fopen等等一系列函数来读取文件内容的方法是一致的,都是开辟一段buffer,不管文件中的字符是什么格式,每读一个byte就放到buffer里面去。

阅读全文
0 0

相关文章推荐

img
取 消
img