匿名
此帳號疑似異常
官方正在進行身份確認

#新手 C語言讀取檔案問題 --已解決

2019年6月10日 20:17
解法 B13 ==================== 小弟想使用 fscanf() 讀取檔案 內容是
第一行用 facanf(fptr, "%s %s %s", tmp, tmp, tmp) 來讀取掉沒問題 但是第二行想用 fscanf(fptr, "%s %d %s", name, &age, gender); 內容肯定是錯的 因為名字中間有空格 Cena 被塞到 %d 那個位置了 請問有辦法解決嗎
10
留言 16
文章資訊
Logo
每天有 6 則貼文
共 16 則留言
國立成功大學
痾……不能就放兩個%s就好? 畢竟讀到'\0'了 自學時外國老師的示範也是firstName MiddleName在讀
匿名
此帳號疑似異常
官方正在進行身份確認
B1 主要是不一定有lastname和firstname 有些就一個而已
國立成功大學 材料科學及工程學系
B2 那改成全部用%s讀取 讀取下來後根據第二個名字開頭的ascii碼是否為48~57來決定轉換為數值與否 或是最後一個是否只讀到'\0',有代表只有一個字
匿名
此帳號疑似異常
官方正在進行身份確認
B3 主要是 John Cena 50 man Marry 20 woman 第一種有4個(%s %s %d %s) 第二種只有3個(%s %d %s) 數量不同
國立成功大學 材料科學及工程學系
B4 所以預設都是4個 只要第四個的第一個是'\0'就代表只有三個 接著再轉回去就好
匿名
此帳號疑似異常
官方正在進行身份確認
B5 應該是不能這樣吧.. 如果第一行是3個的 他第四個會讀取到第二行第一個
國立成功大學 材料科學及工程學系
B6 我的意思是 第二行通通讀4個%s 第一行好好的沒事幹嘛改
匿名
此帳號疑似異常
官方正在進行身份確認
B6 我的意思是這樣 前一行是3個的 如果給他4個格式符 會讀到第二行
國立成功大學 材料科學及工程學系
B8 我想到一個超廢的解法,申請超大的char [][] 然後讀到是數字就知道後面是資料的節點
匿名
此帳號疑似異常
官方正在進行身份確認
目前找到一次讀取兩個詞的方法 但是後面的數據就讀不進來..
匿名
此帳號疑似異常
官方正在進行身份確認
讀整個String然後用spilt \tab做區隔試試
匿名
此帳號疑似異常
官方正在進行身份確認
B11 c没有內置split 要用while+strtok 好麻煩☹️
匿名
此帳號疑似異常
官方正在進行身份確認
解決 原來 %[^\t] 不用 s
國立中興大學 資訊科學與工程學系
B13 給你一個建議 變數命名不要a-z 習慣去命有意義的名字 不然以後程式規模大一點 或你要跟別人合作寫程式的時候 你會痛恨你自己
匿名
此帳號疑似異常
官方正在進行身份確認
B14 哈哈我知道呢 測試而已
國立澎湖科技大學 資訊工程系
這樣的資料很奇怪吧,要麼格式化要麼非格式化。你這格式化還不完全的資料,就算能解決也沒多大意義啊。而且資料含有title就不算資料了。