无法打开输入文件
Cannot open input file
我正在编写一个基本程序,它将从文本文件中读取整数列表,并将文件中最小的整数和最大的整数输出到屏幕。我确保文本文件与源代码文件在同一个文件夹中,并且文件的名称与我在代码中对它的称呼相同。无论如何,程序无法打开文件。我该如何解决这个问题?
这是我的程序:
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
ifstream inStream;
inStream.open("infile.txt");
if (inStream.fail())
{
cout<<"Input file opening failed.n";
system("pause");
exit(1);
}
int arr[100], i = 0;
while(!inStream.eof())
{
inStream>>arr[i++];
}
int min = arr[0];
for (int index = 1; index <= i; index++)
{
if (arr[index] < min)
{
min = arr[index];
}
}
int max = arr[0];
for (int index = 1; index <= i; index++)
{
if (arr[index] > max)
{
max = arr[index];
}
}
cout<<"The smallest number is "<<min<<endl;
cout<<"The largest number is "<<max<<endl;
inStream.close();
system("pause");
return 0;
}
如果您试图打开"C:SomeDirectoryinfile.txt",这将是一个绝对路径。这与"infile.txt"相反,后者被称为相对路径。这就引出了一个问题,"它相对于哪里?"它相对于"当前工作目录"或CWD。一般来说,CWD被设置为可执行文件所在的位置,但它不必如此!事实上,如果您拖放一个文件到您的可执行文件,CWD将是您从哪里拖放文件的位置。或者,如果你在Visual Studio中运行并在IDE中启动代码(通过点击按钮或使用F5), CWD将不在可执行文件所在的位置。
简短的回答是,您通常希望使用绝对路径。当然,在某些情况下,相对路径是有意义的,但是您必须真正了解您的程序是如何被使用的,以及CWD在哪里,这样才有用。对于您的情况,我会坚持使用绝对路径。
相关文章:
- 用c++从输入文件中读取另一行
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 获取通过重定向传入的输入文件的名称?
- C++ 如何打开带有另一个目录的输入文件?
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 如何从输入文件 c++ 创建随机名称生成器
- 从输入文件修剪空格
- 链接器输入文件未使用,因为链接未完成,我无法获得.o
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 我遇到使用 c++ 逐行读取输入文件的问题
- 使用重定向命令从 stdin 读入的字符串"<"输入文件未正确附加
- 使用 getline 从输入文件打印时如何忽略空白行
- 如何按升序对输入文件中的数字进行排序,并找到它们的范围和中值
- 数组大小由输入文件中的行数定义
- 从C++输入文件读取
- 在课堂上创建了一个朋友,给出"无输入文件"错误
- 通过显示一行星号来创建条形图,该条形图将读取数据的输入文件
- 利用输入文件中的数据(字符串和int)并在循环中利用
- C++ 仅读取输入文件中的部分(不是全部)数据以添加到记录中
- 如何从输入文件中读取字符并将其存储到向量中?