无法打开文件流C++
unable to open file stream c++
我正在使用 Xcode,但在打开文件流以从文本文件分配变量时遇到问题。我推测将 txt 文件放在与项目相同的目录中将允许我打开流而不包括整个目录。我已经弄乱了一段时间,但无济于事,我能否让它正常工作。我相信我能够一次读取数据,但我认为打印的字符串是 unicode(不确定)。这是一个非常简单的程序..我认为它会起作用。
我认为我的问题与示例所在的目录以及 Xcode 如何处理项目文件有关。我只是将示例文件放在项目文件夹中,希望它能运行。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string name;
ifstream infile;
infile.open("example.txt");
if(infile.is_open())
{
infile >> name;
}
else
cout << "Unable to open file";
cout << name;
return 0;
}
首先,请记住,工作目录并不总是程序二进制文件所在的目录。
变化:
infile.open("example.txt");
至:
infile.open("/full/path/to/program/directory/example.txt");
其中 /full/path/to/program/directory/
是文件夹的位置,其中放置了程序(因此 example.txt
文件)。它应该可以解决问题。
顺便说一句,您可能还想阅读 this question,它解决了非常相似的问题。
此外,请阅读 getcwd()
function。
我正在使用 Xcode,但在打开文件流以从文本文件分配变量时遇到问题。我推测将 txt 文件放在与项目相同的目录中将允许我打开流而不包括整个目录。我已经弄乱了一段时间,但无济于事,我能否让它正常工作。我相信我能够一次读取数据,但我认为打印的字符串是 unicode(不确定)。这是一个非常简单的程序..我认为它会起作用。 我认为我的问题与示例所在的目录以及 Xcode 如何处理项目文件有关。我只是将示例文件放在项目文件夹中,希望它能运行。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string name;
ifstream infile;
infile.open("example.txt");
if(infile.is_open())
{
infile >> name;
}
else
cout << "Unable to open file";
cout << name;
return 0;
}
首先,请记住,工作目录并不总是程序二进制文件所在的目录。
变化:
infile.open("example.txt");
至:
infile.open("/full/path/to/program/directory/example.txt");
其中 /full/path/to/program/directory/
是文件夹的位置,其中放置了程序(因此 example.txt
文件)。它应该可以解决问题。
顺便说一句,您可能还想阅读 this question,它解决了非常相似的问题。
此外,请阅读 getcwd()
function。