您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> c++读文件总是出来0

c++读文件总是出来0

来源:网络整理     时间:2016/9/2 8:41:13     关键词:

关于网友提出的“ c++读文件总是出来0”问题疑问,本网通过在网上对“ c++读文件总是出来0”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: c++读文件总是出来0
描述:

首先说下文件格式是 *.txt文件,文件里面一行里有一个数据,一共(300*300=90000)行。
最后把文件里的数据放到一个数组array里。


     for(int i=0;i<>
      {
  for(int j=0;j<>
  {
    fin>>array[i][j];
            //getline(fin,str);
            //temp_int=atoi(str.c_str());
  }
}

    读的时候,好几处都读出来了零,其实文件里面根本就没有0(但是array数组初始化时候为0)。后来又用getline读文件,还是有几处读出0来了。而且读出0的几个地方都是一样的,比如都是在(33,45),(110,34)这几处读出0来了。
    不知道为什么出错,以前读文件的时候,都没有错误。
    求大侠帮忙分析分析出错原因,感激不尽,谢谢~~~

解决方案1:

ifstream fin("aaa.txt",ios::in); 
不知道是不是这个原因,你这行代码按我的试试呗?
ifstream fin("aaa.txt",ios::in|ios:binary); 

解决方案2:

很可能是atoi的原因,这个函数转换失败是返回0, 例如你的数据超过int能表示的大小,字符串不能转换成int等等。
atoi返回值得说明:
Return Value
On success, the function returns the converted integral number as an int value.
If no valid conversion could be performed, a zero value is returned.
There is no standard specification on what happens when the converted value would be out of the range of representable values by an int. See strtol for a more robust cross-platform alternative when this is a possibility.

解决方案3:

推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

解决方案4:

摒弃ifstream
使用FILE *

解决方案5:

楼主,你最好把你写入的代码也贴上

解决方案6:

文本文件的格式是这样的?

引用 4 楼 lanse20_2008 的回复:
引用 3 楼 turingo 的回复:直接读取是错误,要解析()和,等等。
您好,txt里面没有()和,。只有纯数据
解决方案7:

直接读取是错误,要解析()和,等等。


以上介绍了“ c++读文件总是出来0”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3716892.html

相关图片

相关文章