作者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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1586239938.A.B4F.html
1F:推 jigfopsda: try fgets 04/07 15:22
2F:推 kaneson: 先读给一个独立字元变数,确定是什麽东西再放进阵列。这 04/08 10:40
3F:→ kaneson: 样写比较有助理解,非必要把阵列塞到input参数,因为有 04/08 10:40
4F:→ kaneson: 很多新手坑要解 04/08 10:40
5F:→ chengweihsu: 建议你先看一下fscanf()的return value 04/08 12:41
6F:→ bell1708: 谢谢各位 04/10 04:08
7F:→ bell1708: 最後用fgets解决了 04/10 04:08