有人知道为什么Fstream在这条线上崩溃吗?
Does anyone know why fstream crashes at this line?
这是我第一次遇到这个问题,因此我不知道如何修复它。编辑:没关系。我的构造函数中的一个错误看起来像是一个错误,导致这种情况以某种方式发生
#include <iostream>
#include <fstream>
#include "graphm.h"
using namespace std;
int main() {
ifstream infile1("data31.txt");
for(;;){
GraphM G;
G.buildGraph(infile1);
if (infile1.eof())
break;
}
void GraphM::buildGraph(ifstream& infile){
int i = 0;
infile >> i; //it crashes here
}
我的文本文件只有1行:5
问题可能与未打开的文件有关。您应该始终检查文件是否已成功打开:
ifstream infile1("data31.txt");
if ( !infile1 )
{
// Failed to open data31.txt
return -1;
}
或者您可以使用显式功能而不是超载operator!
if ( infile1.fail() )
{
return -1;
}
您遇到的错误是什么?通过检查infile.is_open()函数,请确保文件打开。您可以在此处找到示例代码:
http://www.cplusplus.com/reference/iostream/ifstream/is_open/
您也可以检查此线程:
使用C ifstream提取操作员&gt;&gt;从文件读取格式的数据
它具有用于使用ifstream的有用说明。
代码可能的问题:
1. Unopenable file/unopened file
2. Unopenable file/unopened file
3. Unopenable file/unopened file
4. Unopenable file/unopened file
如何解决这个问题?关注 @Maximskurydin的代码。
相关文章:
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- 为什么引用传递会导致此崩溃(C++)
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 为什么当我尝试搜索双链表中第一个数据条目之外的数据时,程序崩溃了?
- 为什么从文件获取图标时应用程序有时会崩溃?
- 为什么gmp会在这里与"invalid next size"重新定位一起崩溃?
- 您好,我实际上想了解以下代码.有人可以详细说明代码它到底在做什么吗?为什么它会在第 31 行崩溃
- 为什么vector::eras似乎会导致崩溃?
- 为什么我的结构在包含字符串时崩溃?
- 为什么在同一条件变量上使用多个互斥锁会使此代码崩溃?
- C++程序崩溃.为什么?
- 类似的代码.一个工作,一个崩溃.为什么?
- 读取空格会使解析器崩溃.为什么?
- 试图在C++中打印变量int会导致它崩溃.为什么?
- 如果程序包含以下代码,则可能会崩溃.为什么
- 递归二叉搜索实现崩溃.为什么