作者bell1708 (橫山推)
看板C_and_CPP
標題[問題] 用fscanf讀取txt檔問題
時間Tue Apr 7 14:12:16 2020
目前需要讀取的txt檔案內容如下:
3 // 先讀入一整數表示要讀取的資料數
1 3 8 / 7 7 // 第一筆資料
1 3 8 / 7 7 / 5 / X 3 // 第二筆資料
1 3 8 / 7 7 / 5 / X 3 4 6 8 // 第三筆資料
需要依序讀取這三筆資料,分別進行運算,所以要使用到for迴圈和fscanf
目前程式碼如下:
while迴圈那是我沒頭緒亂湊的....
如果只用for、if、while和一維陣列有辦法達成嗎?
#include<stdio.h>
int main()
{
FILE *f1=fopen("t.txt","r");
int sum,s=0,i;
char num[30];
fscanf(f1,"%d",&sum);
printf("%d",sum);
for(i=0;i<sum;i++)
{
while(fscanf(f1,"%c",&num[s])!='\n')
{
printf("%c",num[s]);
s++;
}
}
感謝指導QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.109.138 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1586239938.A.B4F.html
推 jigfopsda: try fgets 04/07 15:22
推 kaneson: 先讀給一個獨立字元變數,確定是什麼東西再放進陣列。這 04/08 10:40
→ kaneson: 樣寫比較有助理解,非必要把陣列塞到input參數,因為有 04/08 10:40
→ kaneson: 很多新手坑要解 04/08 10:40
→ chengweihsu: 建議你先看一下fscanf()的return value 04/08 12:41
→ bell1708: 謝謝各位 04/10 04:08
→ bell1708: 最後用fgets解決了 04/10 04:08