Ifstream读取无用的数据

用户名

我正在使用C ++读取大块文件。该文件包含整数,每行两个。

首先,我正在使用它来查找文件的长度:

input.seekg (0, input.end);
int length = input.tellg();
input.seekg (0, input.beg);

在那之后,我检查length是否大于chunksize,如果是,那么我为该块分配内存。

char * buffer = new char [chunksize];

好的,这里是阅读功能...

while (true)
        {
            input.read (buffer,chunksize);
            cout<<buffer;
            if(input.eof()) break;
        }

之后我立即 delete [] buffer;

但是,我遇到了与此代码有关的问题。例如,当输入文件是这样的:

2 5 
4 5 
6 8
7 5
4 2
1 2

该程序将不会输出预期的字符,但是类似于:

2 5 
4 5 
6 8
7 5
4 2
1 2 2
1 2

您知道这些额外字符的原因吗?如果文件的大小小于chunksize,则我使用其长度输入.read,并且工作正常。也许如果使用读取长度大于文件大小的文件使其无法正常工作?

非常感谢

TypeIA

您的字符串不是以NULL结尾的。read()函数不会'\0'在为您读取的内容的末尾放置a ,因此,当您进行打印时,实际上是在打印超出所读取内容的末尾的垃圾数据,因为打印代码期望使用NULL终止符进行标记字符串的结尾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ifstream不能完全读取整个数据

来自分类Dev

为什么在读取混合数据时ifstream失败?

来自分类Dev

从文件读取C ++ Ifstream

来自分类Dev

clang 3.3 / Xcode和libc ++:调用ifstream :: clear()后std :: getline不读取数据

来自分类Dev

我的代码将不会使用ifstream和ofstream从文件读取和显示数据

来自分类Dev

std :: ifstream :: read()读取的数据少于请求的值,并且没有明显的原因设置failbit

来自分类Dev

C ++ ifstream在从文本文件读取时附加垃圾数据

来自分类Dev

C ++ ifstream读取行组

来自分类Dev

C ++ ifstream读取偏移范围

来自分类Dev

从ifstream读取stdin / cin是否安全?

来自分类Dev

使用ifstream以逗号读取.txt文件

来自分类Dev

While 循环不读取整个 ifstream 文件

来自分类Dev

python - 如何摆脱开放数据集中的无用数据

来自分类Dev

C#在UDP上接收到的数据始终无用

来自分类Dev

在R中加载包含无用字符的数据框

来自分类Dev

C#在UDP上接收到的数据总是无用的

来自分类Dev

在R中加载包含无用字符的数据框

来自分类Dev

在PhpStorm数据库工具窗口中隐藏无用的表

来自分类Dev

GraphQL 在查询级别获取数据导致冗余/无用请求

来自分类Dev

C ++-是否可以在ifstream中编辑数据?

来自分类Dev

ifstream没有拉入任何数据

来自分类Dev

从文件中读取整数返回错误的输出(ifstream)

来自分类Dev

如何使用ifstream C ++读取子字符串

来自分类Dev

C ++:提高ifstream二进制文件的读取速度

来自分类Dev

basic_ifstream <...> :: read()不读取任何内容

来自分类Dev

ifstream.read仅读取文件的一半

来自分类Dev

使用std :: copy从ifstream读取十六进制值的序列

来自分类Dev

ifstream错误从字符串中读取字符

来自分类Dev

C ++ ifstream读取2个字符数字

Related 相关文章

  1. 1

    ifstream不能完全读取整个数据

  2. 2

    为什么在读取混合数据时ifstream失败?

  3. 3

    从文件读取C ++ Ifstream

  4. 4

    clang 3.3 / Xcode和libc ++:调用ifstream :: clear()后std :: getline不读取数据

  5. 5

    我的代码将不会使用ifstream和ofstream从文件读取和显示数据

  6. 6

    std :: ifstream :: read()读取的数据少于请求的值,并且没有明显的原因设置failbit

  7. 7

    C ++ ifstream在从文本文件读取时附加垃圾数据

  8. 8

    C ++ ifstream读取行组

  9. 9

    C ++ ifstream读取偏移范围

  10. 10

    从ifstream读取stdin / cin是否安全?

  11. 11

    使用ifstream以逗号读取.txt文件

  12. 12

    While 循环不读取整个 ifstream 文件

  13. 13

    python - 如何摆脱开放数据集中的无用数据

  14. 14

    C#在UDP上接收到的数据始终无用

  15. 15

    在R中加载包含无用字符的数据框

  16. 16

    C#在UDP上接收到的数据总是无用的

  17. 17

    在R中加载包含无用字符的数据框

  18. 18

    在PhpStorm数据库工具窗口中隐藏无用的表

  19. 19

    GraphQL 在查询级别获取数据导致冗余/无用请求

  20. 20

    C ++-是否可以在ifstream中编辑数据?

  21. 21

    ifstream没有拉入任何数据

  22. 22

    从文件中读取整数返回错误的输出(ifstream)

  23. 23

    如何使用ifstream C ++读取子字符串

  24. 24

    C ++:提高ifstream二进制文件的读取速度

  25. 25

    basic_ifstream <...> :: read()不读取任何内容

  26. 26

    ifstream.read仅读取文件的一半

  27. 27

    使用std :: copy从ifstream读取十六进制值的序列

  28. 28

    ifstream错误从字符串中读取字符

  29. 29

    C ++ ifstream读取2个字符数字

热门标签

归档