[英]Can't specify a file path prefix in program
在我的程序中,我試圖構造一個文件名,該文件名的路徑指向存儲數據的特定文件夾。 我有這樣的東西:
string directoryPrefix = "C:\Input data\";
string baseFileName = "somefile.bin";
string fileName = directoryPrefix + index + " " + baseFileName;
但是,編譯器一直在說我在第一行的末尾缺少分號。 我如何正確設置它才能起作用?
謝謝
\\
是一個特殊字符
string directoryPrefix = "C:\\Input data\\";
您在字符串\\I
和\\"
有特殊命令,因此您的字符串不會終止
加倍\\以轉義轉義字符
string directoryPrefix = "C:\\\\Input data\\\\";
如前所述, \\
是用於字符串或字符文字的特殊轉義字符。 你也有選擇 要么逃避使用斜杠(所以是雙斜杠),要么移到反斜杠(這也適用於所有其他操作系統),從而使您的代碼將來更容易移植。
string directoryPrefix = "C:\\Input data\\";
string directoryPrefix = "C:/Input data/";
或最好的選擇是采用平台網絡的方式來表示文件系統。
已經有幾個答案提到將反斜杠加倍。 另一種可能性是改用正斜杠:
std::string directoryPrefix = "C:/Input data/";
即使Windows不接受正斜杠在命令行上,當你在程序中使用它們就會接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.