C语言中fscanf()按一定的格式读取文本文件!

C语言中fscanf()按一定的格式读取文本文件!,第1张

#include<<a href="https://www.baidu.com/s?wd=stdio.h&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3my7-uhnLnW61mymYm1Td0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1Rvn1cLP1bkPs" target="_blank" class="baidu-highlight">stdio.h</a>>

void main()

{

    int a[20000][2],i,j,count=0

    FILE *fp

    fp=fopen("d:\\1.txt","r")

     

    /**读入**/

    for(i=0i<20000i++)

    {

        if(fscanf(fp,"%d %d",&a[i][0], &a[i][1])==EOF)

            break

        count++ //count为读入的数对个数,如1  2为一对

    }

    /**输出**/

    for(i=0i<counti++)

    {

        for(j=0j<2j++)

            printf("%d ",a[i][j])

        printf("\n")

    }

    fclose(fp)  //记住关闭文件

}

运行结果如下:

27

1 86 50 0 0 111

A 64 45 0 0 1010

B 13 33 0 0 100000

C 22 37 0 0 00000

D 32 39 0 0 10110

......

换行符其实没有必要储存,如果起始行有空格也没有问题,可以在函数中这么改:

fscanf(fp,"%d\n", &n)

fscanf(fp, "%c %d %d %d %d %d %s\n",&(HT[i].elem), &(HT[i].weight), &(HT[i].parent), &(HT[i].lchild), &(HT[i].rchild), str)

则HT[i].elem读入的是序号,如给出的A、B、C、D

fscanf(fp,"%d\n", &n)

HT[i].elem读入的是第一组数字的首位1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11876760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存