尝试使用fstream在C ++中读取文件。 但是is_open()函数总是返回0结果而readline()不会读取任何内容。请参阅下面的代码段。
var parObj = $find('<%= lkpInput.ClientID %>');
答案 0 :(得分:5)
您认为自己正在打开D:\<somepath>\testdata\task1.in.1
但实际上您正试图打开D:\<somepath><tabulation char>estdata<tabulation char>ask1.in.1
,因为\t
被解释为制表。
(例如\n
)<{1}}中的换行符
(printf("hello world\n");
也很特别BTW并不是真正的道路,否则你会遇到另一个错误:\x
这可能会更好地与你交谈!)
你必须像这样逃避反斜杠:
error: \x used with no following hex digits
Windows也接受这样的路径,更方便,除非你想用D:\\xx\\xx\\xx\\xx\\testdata\\task1.in.1
命令生成需要反斜杠的批处理脚本(cd
用作批处理命令中的选项开关):
/
正如NathanOliver所述,如果编译器启用了C ++ 11模式(或使用D:/xx/xx/xx/xx/testdata/task1.in.1
),则可以使用原始前缀
--std=c++11
最后一句话:肮脏的逃脱方式:
R"(D:\xx\xx\xx\xx\testdata\task1.in.1)"
在这种情况下使用大写可以正常工作
但那只是运气。很多人这样做,却没有意识到他们非常接近一个bug。 顺便说一句,很多人都把Windows路径大写(在这个网站上看得很多)因为他们注意到他们的路径在不知道原因的情况下不会使用小写。