【发布时间】:2011-01-11 12:23:05
【问题描述】:
知道为什么以下操作会失败吗?
std::fstream i(L"C:/testlog.txt", std::ios::binary | std::ios::in); 整数测试 = 0; 我 >> 测试;
fail() 正在返回 true。文件存在并已打开。
我检查了 i._Filebuffer._Myfile._ptr 它是指向文件缓冲区的指针,所以我不明白它为什么会失败。
【问题讨论】:
-
请显示文件内容。
-
我在 Windows 上编程不多,但你的文件名中没有斜杠错误吗? “C:\\testlog.txt”会更好吗?
-
@Dan:没关系; Windows 将在大多数情况下接受正斜杠或反斜杠(我不记得有例外,但这不是其中之一)。
-
为什么要使用宽字符串? fstream 只需要一个 char* 流,所以那里正在发生一些有趣的事情,它可能正在尝试打开文件“C”
标签: c++ windows visual-studio-2008