IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

C/C++循环获取文件中的每行数据(别以为很简单!)

Vimer 2009-11-19 09:44:22 累计浏览 5,235 次
本机暂存

想必大家在学C/C++编程的一开始就会学习如何在文件中循环获取没一行的数据,但是我得以切身经历来告诉大家,有时候,课本真的不一定是对的……

#include <fstream>
ifstream fin;
fin.open(“uin_err_list”);
int count=0;
string stUin;
while(getline(fin,strUin))
{
    count++;
    printf(“data=%s\n”,strUin.c_str());
}

这段代码有没有问题呢?没有~,基本上。《c++ primer plus》里都有的例子,怎么会有问题呢?
很遗憾,就是有问题。
当我在64位机器上启动这个程序的时候,总是在读取了第一行之后就自动结束,在检查了无数次未果之后,我不得不的出一个很无奈的结论―STL库对64位的支持有点差劲……

好啦,既然如此,那么我们就只能通过别的办法在64位机上循环获取数据,代码如下:

FILE * fp = fopen(file_qq, “r”);
char data[100]={0};   
while(fgets(data, 100, fp) != NULL)
{       
    string strData=data;
}
fclose(fp);

纯C的代码,唉,还是C好啊,简洁精致,希望大家不要再犯和我一样的错误就好。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 如何学好C++语言 (累计阅读 10,449)
  2. Emacs配置C/C++-mode的代码智能提示和自动补全 (累计阅读 10,412)
  3. colortail,让 tail 命令绚丽起来 (累计阅读 10,260)
  4. 在C++中实现foreach循环,比for_each更简洁! (累计阅读 9,500)
  5. 几个内存相关面试题(c/c++) (累计阅读 9,447)
  6. 关于使用STL的红黑树map还是hashmap的问题 (累计阅读 8,876)
  7. 浅析C++多线程内存模型 (累计阅读 8,803)
  8. C++ 多线程编程总结 (累计阅读 8,098)
  9. 使用gdb调试运行时的程序小技巧 (累计阅读 7,209)
  10. 在C++里写一个不能被继承的类 (累计阅读 6,581)