[問題] 怎麼在讀取的時候自動換行?

看板C_and_CPP (C/C++)作者 (我要成為廢文王)時間11年前 (2015/05/25 20:07), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
開發平台(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

05/25 21:13, , 1F
'\n'?
05/25 21:13, 1F

05/26 01:02, , 2F
fgets?
05/26 01:02, 2F

05/26 11:06, , 3F
何苦一次讀一個字母。
05/26 11:06, 3F

05/27 13:47, , 4F
1. if後面不該有; 2.換行字元為 '\n' 而不是 "\n"
05/27 13:47, 4F

05/27 13:48, , 5F
3. 字串記得補上字串結尾'\0'
05/27 13:48, 5F

05/27 13:51, , 6F
4. 應考量檔案中每筆名稱長度大於7(扣除'\0')時的狀況
05/27 13:51, 6F

05/27 13:53, , 7F
5. 最後一筆姓名結尾沒換行時為EOF, 反之則為'\n'
05/27 13:53, 7F

05/27 13:54, , 8F
剛寫的給您參考: http://ideone.com/iHHsCY
05/27 13:54, 8F
文章代碼(AID): #1LOn2RW4 (C_and_CPP)
文章代碼(AID): #1LOn2RW4 (C_and_CPP)