[問題] 關於指標讀取文字的問題

看板C_and_CPP作者 (北極人)時間12年前 (2012/03/26 21:43), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C 問題(Question): 對於將文字printf的結果,接在%s後的文字會覆蓋前面的文字 餵入的資料(Input): <start>007725 存於fp.txt檔裡 預期的正確結果(Expected Output): "*/007725.lab" 錯誤結果(Wrong Output): .lab"7725 程式碼(Code):(請善用置底文網頁, 記得排版) FILE *fp; char *p ,line[256], file_no[256] , status[256]; int main() { fp=fopen("fp.txt","r"); while((p=fgets(line,sizeof(line)-1,fp))!=NULL) { p=strchr(line,'\n'); *p='\0'; p=strchr(line,'>'); if(p!=NULL) p++; strcpy(file_no,p); p=strchr(line,'>'); *p='\0'; p=strchr(line,'<'); if(p!=NULL) p++; strcpy(status,p); printf("\"*/%s.lab\"\n",file_no); return 0; } } 補充說明(Supplement): 因為是個滿長的程式 所以小弟只擷取這一段有問題的地方 而status是個必須偵測的文字 雖然在此沒使用到.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.144.76 ※ 編輯: yetbomb 來自: 140.113.144.76 (03/26 21:44)

03/26 22:18, , 1F
又是 Windows 的 \r....
03/26 22:18, 1F

03/26 22:18, , 2F
開檔模式改成 "rt" 即可解決
03/26 22:18, 2F
文章代碼(AID): #1FS7ATPz (C_and_CPP)