我正在尝试从我的程序中打开一个文本文件。但我有几个奇怪的问题。
对于一个逃脱序列没有逃脱...
const char *“D:\\ assest \ thing.txt”= D:\\ assest \ thing.txt 和
const char *“D:\\ Assest \ thing.txt”= D:Assest \\ thing.txt 但
为什么两个只能在这个论坛上给我一个空位,这真是太不必要了!
const char *“D:\ assest \ thing.txt”= D:\ assest \ thing.txt正确的路径,我可以从调试器中将其复制到文件浏览器中然后弹出文件,但是std :: ifstream(filePath)和std :: ifstream :: open(filePath);失败。和fopen_s一样。
我甚至尝试使用ascii代码来连接字符串/但是在我分配了所有内存之后放弃了只发现strcat被折旧了,显然微软正在试图折旧C.我想在他们想到的所有Windows 8的成功之后他们应该让它骑。
我最初使用字符串,但在上述相同问题之后开始使用char数组。
我尝试了其他文本文件,甚至将文件放入项目目录中的每个文件夹中(虽然这对我没有好处,但我想我必须尝试)。
没有文件不会打开我能想象的任何情况。我作为管理员运行编译器,尝试读取不同的文件。重新启动电脑,擦一盏神灯。我没有想法
我缺少一个技巧,我的环境可能会受到责备吗?
代码
std::string path = "C:\assest\rock.txt";
obj.readOBJ(path);
void objImporter::readOBJ(std::string filePath)
{
std::ifstream OBJfile(filePath);
//OBJfile.open(filePath.c_str());
if (OBJfile.is_open())
{
是的,等等,等等,等等
OBJfile.close();
有没有人有任何见解?
由于
汤姆
答案 0 :(得分:2)
似乎转义序列 正在工作。 \a
是哔声字符,\r
是回车符。你应该像这样逃避反斜杠(\\
):
string path = "c:\\assets\\rock.txt";