| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 895 人关注过本帖
标题:fgets 和sscanf
只看楼主 加入收藏
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:1 
fgets 和sscanf
Write a program which reads numbers from a file where each line
contains three numbers. Use fgets and sscanf to process each line.

For example:
1 2 4
43 5 -3

有点迷茫 。。。是先用fgets读出每行然后用sscanf限定长度吗?
搜索更多相关主题的帖子: fgets sscanf 
2010-05-11 00:28
liuzhiping
Rank: 2
等 级:论坛游民
帖 子:19
专家分:31
注 册:2009-7-8
收藏
得分:10 
sscanf是格式化输入     fgets函数从文件中读入  读到指定的大小或是碰到换行结束
sscanf  和scanf其实是一样的  只不过数据源不一样  scanf默认是stdin
#include <stdio.h>
#include <stdlib.h>

#define filename "c:\\test.txt"

int main(int argc, char *argv[])
{

    //if (argc < 2)
//    {
    //    printf("参数个数错误");
    //    exit(-1);
    //}
    FILE * fp = NULL;
    int a,b,c;
    char s[20];

    if (!(fp = fopen(filename, "r")))
    {
        printf("打开文件失败!\n");
        exit(-1);
    }
    while(!(feof(fp) || ferror(fp)))
    {
        fgets(s,20,fp);
        sscanf(s,"%d\t%d\t%d",&a,&b,&c);    //格式化输入  如果文件中的数是用空格隔开  这里%d中间也用\t隔开
        printf("a = %d,b = %d,c = %d\n",a,b,c);
    }
    fclose(fp);
    return 0;
}


[ 本帖最后由 liuzhiping 于 2010-5-11 14:25 编辑 ]
2010-05-11 14:23
快速回复:fgets 和sscanf
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015353 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved