我只知道我們不能使用D:\demo.txt
,因爲\d
將被視爲轉義字符,因此我們必須使用D:\\demo.txt
。但是幾分鐘前,我發現D:/demo.txt
的工作原理與我們不必擔心的逃脫一樣好字符/
。我在Windows上使用CodeBlocks,我想知道這些路徑格式中哪一個對我的平臺上的C有效。這裏是我的代碼和註釋行同樣正常。Windows上使用哪種路徑格式,「D:\ source.txt」或「D:/source.txt」?
#include<stdio.h>
int main()
{
char ch;
FILE *fp,*tp;
fp=fopen("D:\\source.txt","r");
//fp=fopen("D:/source.txt","r");
tp=fopen("D:\\encrypt.txt","w");
//tp=fopen("D:/encrypt.txt","w");
if(fp==NULL||tp==NULL)
printf("ERROR");
while((ch=getc(fp))!=EOF)
putc(~ch,tp);
fclose(fp);
fclose(tp);
}
兩者都是有效的,正斜槓減少頭痛。 – 2013-05-10 03:35:33
@DanielFischer如果我使用'char path [] =「D:\ encrypt.txt」並將'path'作爲參數傳遞給'fopen()',它會通過'printf()'顯示** ERROR **,但爲什麼它對'char path [] =「D:\\ encrypt.txt」''正常工作?「Plz回答這個問題是因爲它對於另一個問題太短了。 – Thokchom 2013-05-10 03:38:57
我的意思是「D:\\ encrypt.txt」和「D:/encrypt.txt」都是有效的。您已經寫過,您必須避開問題中的反斜槓。 – 2013-05-10 03:40:38