回 帖 发 新 帖 刷新版面

主题:[原创]fscanf函数实现文本文件数据按分隔符分隔数据(按行和列)

//zlhex@163.com

#include <stdio.h>
#include <string.h>

void main()
{
    FILE *fp;
    char fn[256],str1[100],str2[100];
    int i;

    printf("Input file name:\n");
    scanf("%s",fn);
    printf("\n");
    fp = fopen(fn,"r");
    if(fp)
    {
        fscanf(fp,"%*[,;\"| \t\n\r]");//跳过前导空格和分隔符
        str2[0]='\0';
        while(fscanf(fp,"%[^,;\"| \t\n\r]%[,;\"| \t\n\r]",str1,str2)!=-1)//按逗号,分号,引号,空格,TAB键等分隔字符串
        {            
            printf("%s ",str1);//列增加
            [b]if(strchr(str2,'\n')) printf("\n");[/b]//行增加
            str2[0]='\0';
        }
        fclose(fp);
    }
}

在格式字符串"%[^,;\"| \t\n\r]%[,;\"| \t\n\r]"中添加其他分隔符即可实现任意字符
对字符串的分隔。进一步修改该代码,便可实现将结果添加到列表控件中,实现更多的
功能。。。

回复列表 (共1个回复)

沙发

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即时网游、交友,娱乐游戏,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料 http://user.qzone.qq.com/909065437/infocenter
网商咨询 摩客天宇QQ 909065437 

我来回复

您尚未登录,请登录后再回复。点此登录或注册