getline() 不打开文本文件
getline() not opening text file
您好,我目前在 OSX 上使用 CodeBlocks 13.12。
我正在尝试打开以下 .txt 文件
第 1 行
第 2 行
第 3 行
我的代码是:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
cout<<'\n';
std::string line;
ifstream myfile("textex.txt");
if(myfile.is_open())
cout << "File is open";
else
cout << "File not open";
cout<<'\n';
return 0;
}
我也将该文件包含在项目文件夹中,并尝试对其进行链接和编译。
当我 运行 代码时,它显示 "File not open" 我不确定为什么?
我是 c++ 的新手,有人可以解释为什么这不起作用吗?
可能是因为项目文件夹没有设置为工作目录。尝试指定完整路径。
尝试键入文件的完整路径,而不仅仅是文件名。
告诉我接下来会发生什么。
另一个无关但不相关的注意事项,因为您使用的是 "using namespace" 指令,所以您也可以像使用 cin 和 cout 一样从字符串中省略 std:: 。没什么大不了的,只是看代码。
而不是
ifstream myfile("textex.txt");
尝试
ifstream myfile;
myfile.open("/Users/name/Code/textex.txt"); // Use the full path
当您 运行 您的程序来自 Code::Blocks 时,它 运行 位于项目文件夹中,因此您的文本文件必须位于您的项目文件夹中,否则文本文件必须位于所在的文件夹中你的可执行文件是。
您好,我目前在 OSX 上使用 CodeBlocks 13.12。
我正在尝试打开以下 .txt 文件
第 1 行
第 2 行
第 3 行
我的代码是:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
cout<<'\n';
std::string line;
ifstream myfile("textex.txt");
if(myfile.is_open())
cout << "File is open";
else
cout << "File not open";
cout<<'\n';
return 0;
}
我也将该文件包含在项目文件夹中,并尝试对其进行链接和编译。
当我 运行 代码时,它显示 "File not open" 我不确定为什么? 我是 c++ 的新手,有人可以解释为什么这不起作用吗?
可能是因为项目文件夹没有设置为工作目录。尝试指定完整路径。
尝试键入文件的完整路径,而不仅仅是文件名。 告诉我接下来会发生什么。
另一个无关但不相关的注意事项,因为您使用的是 "using namespace" 指令,所以您也可以像使用 cin 和 cout 一样从字符串中省略 std:: 。没什么大不了的,只是看代码。
而不是
ifstream myfile("textex.txt");
尝试
ifstream myfile;
myfile.open("/Users/name/Code/textex.txt"); // Use the full path
当您 运行 您的程序来自 Code::Blocks 时,它 运行 位于项目文件夹中,因此您的文本文件必须位于您的项目文件夹中,否则文本文件必须位于所在的文件夹中你的可执行文件是。