gpt4 book ai didi

c++ - 无法让简单的 ifstream 在 Visual Studio Express 中工作

转载 作者:行者123 更新时间:2023-11-28 00:27:16 26 4
gpt4 key购买 nike

我正在尝试学习 C++,并且在 file input/output section 上.我遇到了障碍,因为我的测试应用程序显然无法在 Visual Studio Express 2012 中运行。这是我的代码:

// ConsoleApp03.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
ifstream file_reader;
file_reader.open("C:\temp.txt");

// Test to see if the file was opened
if (!file_reader.is_open() ) {
cout << "Could not open file!" << endl;
return 255;
}
string line;
// Read the entire file and display it to the user;
while (getline(file_reader,line)) {
cout << line << endl;
}

// Close the file
file_reader.close();
return 0;
}

每次运行此程序时,我都会收到“无法打开文件!”。我已验证正在打开的文件确实存在,并且我有足够的权限读取。我尝试过其他文本文件,包括在其他不同位置(如我的文档文件夹),但结果始终相同。我的文本文件非常简单,只包含两行文本。我很乐意在 Notepad++ 中打开此文件,并且该文件没有特殊属性(系统、只读等)。我什至尝试过将文件与 ANSI 和 UTF-8 相互转换,但没有成功。

我已经查看了与我在这里遇到的问题类似的其他问题,但这些问题似乎不适用于我(例如:ifstream::open not working in Visual Studio debug modeifstream failing to open)

为了展示文本文件的简单性,这里是我在命令提示符下输入的:

 C:\>type C:\temp.txt
Hi
There

最佳答案

这可能会或可能不会解决您的问题,但是 \ 后跟 char 是一个转义序列。所以你的文件路径实际上是无效的。尝试

file_reader.open("C:\\temp.txt");

\t 实际上意味着制表符。参见 here .

关于c++ - 无法让简单的 ifstream 在 Visual Studio Express 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24370723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com