簡體   English   中英

無法在程序中指定文件路徑前綴

[英]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\\";

請訪問以獲得更多細節。

\\是一個特殊字符

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM