作者dinex (我要成為廢文王)
看板C_and_CPP
標題[問題] 怎麼在讀取的時候自動換行?
時間Mon May 25 20:07:52 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C/C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
現在有一個檔案裏面列出不同長度的名字
要能讀取完畢自動換行讀取下一行的名字
餵入的資料(Input):
James
Daniel
Lisa
預期的正確結果(Expected Output):
有個二維的矩陣
會儲存對應名字字元
錯誤結果(Wrong Output):
常常因為換行符號導致讀取錯誤
程式碼(Code):(請善用置底文網頁, 記得排版)
ptr=fopen("ride.in","r");
for(i=0;i<3;i++){
j=0;
while(j!=8){
fscanf(ptr,"%c",&a[i][j]);
if(a[i][j]=="\n");
j=8;
else
j=j+1;
}
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.42.201
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432555675.A.804.html
→ remizu: '\n'? 05/25 21:13
→ jacky1989: fgets? 05/26 01:02
→ MOONRAKER: 何苦一次讀一個字母。 05/26 11:06
→ anyoiuo: 1. if後面不該有; 2.換行字元為 '\n' 而不是 "\n" 05/27 13:47
→ anyoiuo: 3. 字串記得補上字串結尾'\0' 05/27 13:48
→ anyoiuo: 4. 應考量檔案中每筆名稱長度大於7(扣除'\0')時的狀況 05/27 13:51
→ anyoiuo: 5. 最後一筆姓名結尾沒換行時為EOF, 反之則為'\n' 05/27 13:53