如何在C++中从输入中读取文件路径,以便打开txt文件
How to read a file path from input in C++ so you can open a txt file?
我在c:\....mydocuments
中有一个名为myPoints.txt的文件。它包含一些x,y点的列表(例如,3.4,5.6)。我正在尝试使用ifstream打开它。一旦我进入文件目录,就会出现运行时错误,程序就会关闭。(例如…c:mydocumentsmyPoints.txt
)
- 如何输入正确的文件目录
- 有没有一种干净的方法可以将这些代码放入以"ifstream-ifs"为参数的函数中
这是我的文件打开代码:
int main()
{
cout << "Please enter the file name: ";
string name;
cin >> name;
ifstream ifs(name.c_str());
if (!ifs) error("can't open input file ", name);
vector < Point > points;
Point p;
while (ifs >> p) points.push_back(p);
// ....
}
不确定问题是否在我的ifstream函数中,所以我会添加它以防万一:
ifstream& operator >>(ifstream& ifs, Point& p)
{
double x, y;
char comma;
ifs >> x >> comma >> y;
if (!ifs) return ifs;
if (comma != ',') {
ifs.clear(ios_base::failbit);
return ifs;
}
p = Point(x, y);
return ifs;
}
是的,您可以输入文件的完整路径。最重要的是,您需要正确键入所有内容(例如,至少在大多数地区,您需要在My Documents
中有一个空格)。
还要注意,像cin >> name;
(其中name
是std::string
)这样的代码将只读取到第一个空白字符。您可能需要std::getline(std::cin, name);
,因此它将读取整行(即,您键入的所有内容,直到回车为止)。
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 一种在C++中读取TXT配置文件的简单方法
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 我可以读取静态对象中的文件.txt吗?C++
- C++-需要读取存储在文件(.txt)中的时间戳并正确检索
- 具有文件.txt的 C++ 中的设置
- 如何在 CMakeList 中包含 h/hpp 头文件.txt而不是 cpp 或其他 hpp 文件
- 使用函数读取文件.txt中的矩阵
- 任何人都知道如何解决尝试将从MySQL数据库返回的行打印到文本文件(.txt)中的C++
- 读取文件.txt C
- 为什么我的方法不从文件.txt中读取float类型
- 如何读取名称(仅文件.txt)作为参数传递的文件(在任何目录中)?C++
- 读取文件".txt"并将每行的数据分配给循环列表中的新节点C++
- 如何用C++将字符串文件Txt解析成数组
- 如何在c++中读取和编辑文件txt
- 从文件.txt读取字符串数组并使用它来玩康威的生命游戏
- 导入文件txt时出错
- 如何仅读取文件.txt中的数字