加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 逐行读取文件的最快方法,每个文件中包含任意数量的字符

发布时间:2020-12-16 09:25:13 所属栏目:百科 来源:网络整理
导读:好的,我正在试图找出哪种方式可以更快地读取我正在使用的文本文件.该文件的内容如下所示 1982 3923 3542 43432344 3453 2334 423423 32432 23423 它们基本上只是一个任意数量的int数,我需要逐行读取.使用getline或插入()运算符会更好吗?我个人认为通过使用
好的,我正在试图找出哪种方式可以更快地读取我正在使用的文本文件.该文件的内容如下所示

1982 3923 3542 4343
2344 3453 2
334 423423 32432 23423

它们基本上只是一个任意数量的int数,我需要逐行读取.使用getline或插入(>>)运算符会更好吗?我个人认为通过使用插入运算符实现起来会容易得多,但我不知道如何编写程序,以便它读取同一行中的所有int数字,直到它到达结尾.我想把它设置如下:

ifstream input;
input.open("someFile.txt");
if (input) {
    char* ch;
    while (ch != 'n)
        getline(input,buffer,' ')

唯一的问题是我必须转换为int,然后将每个int放在一个数组中.我期望的最终目标是生成一个二维数组,其中int的每一行都是int的数组.有关最佳实施的任何建议表示赞赏!

解决方法

我会保持简单:

ifstream in(...);
string line;
while (getline(in,line)) {
    istringstream line_in(line);
    while (line_in) {
        int val = 0;
        if (line_in >> val) {
            // Do something with val
        }
    }
    // eol
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读