How*_*Gee 3 c++ fstream visual-studio-2010 text-files
我正在尝试阅读一个文本文件,但什么也没有出来.我觉得可能它在我的Visual Studio资源文件夹中没有正确链接,但如果我双击它 - 它在visual studio中打开很好,如果我测试它是否打开或是否好,它不会遇到任何问题.该程序现在编译好,但没有输出.没有打印到我的命令提示符.有什么建议?
码
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
char str[100];
ifstream test;
test.open("test.txt");
while(test.getline(str, 100, '#'))
{
cout << str << endl;
}
test.close();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
文本文件
This is a test Textfile#Read more lines here#and here
Run Code Online (Sandbox Code Playgroud)
您尝试按名称打开文件而不使用路径,这意味着该文件应位于程序的当前工作目录中.
从VS IDE运行程序时,问题出在当前目录中.VS默认情况下将runnning program的当前工作目录设置为项目目录$(ProjectDir).但是您的测试文件位于资源目录中.所以open()功能找不到它并getline()立即失败.
解决方案很简单 - 将测试文件复制到项目目录.或者将其复制到目标目录(.exe通常$(ProjectDir)\Debug或创建程序文件的位置$(ProjectDir)\Release)并在VS IDE中更改工作目录设置:Project->Properties->Debugging->Working Directory,设置为$(TargetDir).在这种情况下,它将同时适用于IDE和命令行/ Windows资源管理器.
另一种可能的解决方案 - 在open()通话中设置正确的文件路径.出于测试/教育目的,您可以对其进行硬编码,但实际上这并不是一种好的软件开发方式.
| 归档时间: |
|
| 查看次数: |
23032 次 |
| 最近记录: |