c语言怎么提取文本文件中我想要的一些信息?

是这样的,我有一个文本,有点大,我要从中提取一长串的字符。但是我不会,下面是截图,希望大神帮帮忙
要提取的就是图中画笔画起来的地方

使用文件操作函数fscanf即可提取文本当中特定的信息。例如要提取一个整数,可以用fscanf(fp,"%d",&n);要提取一个字符串可以用fscanf(fp,"%s",s),其中fp为文件指针。

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:

#include<stdio.h>
int a;
char b,c[100];
int main(){
    FILE * fp1 = fopen("input.txt", "r");//打开输入文件
    FILE * fp2 = fopen("output.txt", "w");//打开输出文件
    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
        puts("不能打开文件!");
        return 0;
    }
    fscanf(fp1,"%d",&a);//从输入文件读取一个整数
    b=fgetc(fp1);//从输入文件读取一个字符
    fgets(c,100,fp1);//从输入文件读取一行字符串
    
    printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
    
    fputs(c,fp2);//向输出文件写入一行字符串
    fputc(b,fp2);//向输出文件写入一个字符
    fprintf(fp2,"%d",a);//向输出文件写入一个整数
    
    fclose(fp1);//关闭输入文件
    fclose(fp2);//关闭输出文件,相当于保存
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-26
1. 如果你懂编程序:
使用字符串匹配算法,例如KMP算法,AC算法等。
AC算法比较好,网络上可能有现成的,弄一个源代码,再修改下就可以。

2. 如果你不懂编程:
用word,ultraedit等编辑工具,直接搜索你要的字符串就可以了吧。追问

我不太会编程,我也说了,文本有点大,如果直接提取是不切实际的。所以才来求助一个算法程序,而且提取的字符串也要放在新的文本里面。程序首先要从我的txt文本写入数据然后再对数据处理,其实我就是来求一个适合我这个算法的代码的

本回答被网友采纳
第2个回答  2014-08-26
你要的在'/'和'+'符号之间,似乎你要的字符串还是固定的长度,假设为10
那么if (string[0] == '/' && string[11] == '+')
{
//那么就匹配到
//由于你说你不太会,那我没必要写详细
}
文件操作FILE * fp = open("某某", "w")即得到一个文件指针了。
小兄弟要加油啊,我没有心思帮你写,你努力学习吧。追问

虽然不太会,但是程序看得懂啊。

这是我写的,但是不能用,帮解答一下吧。

追答

string[i] == '1'是错的,其他的技巧太低级,你想做的事很一般,难度不高,可我的确没心思写,你自个再钻研钻研。

第3个回答  2015-11-06

    先打开文本文件。

    用复制

    打开一个C文件

    粘贴

第4个回答  2015-11-19
区分你想要的信息类型,有着不同的方法。
多种多样,数不胜数。
要1000种都可以。
问题描述太不清晰了。

c语言怎么提取文本文件中我想要的一些信息?
使用文件操作函数fscanf即可提取文本当中特定的信息。例如要提取一个整数,可以用fscanf(fp,"%d",&n);要提取一个字符串可以用fscanf(fp,"%s",s),其中fp为文件指针。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。...

C语言如何读取txt文本里面的内容?
C语言可以使用fopen()函数读取txt文本里。示例:include <stdio.h> FILE *stream, *stream2;void main( void ){ int numclosed;\/* Open for read (will fail if file "data" does not exist) *\/ if( (stream = fopen( "data", "r" )) == NULL )printf( "The file 'data' was...

如何将txt文件中的学生信息读取到结构体数组中,C语言
FILE *fp;printf("请输入文件名,路径:"); \/\/打开txt文件scanf("%s",filename);if((fp = fopen(filename,"r")) == NULL) {fprintf(stderr,"%s 文件打开失败!\\n",filename);exit(0); } for(int i=0; i<12; i++) \/\/循环读取{ fscanf(fp,"%s%s%f",StuInfo[i].I...

C语言提取一列字符中的某个字符,怎么提取啊
然后一直按住ALT,用左键选择你要的字符,向下拖动就能选中同一列的字了,然后复制,粘贴就行了,不过这个方法不太适合30000行,不过你可以试着让页面显示比例缩小(按住CTRL,滚动鼠标的滚轮就可以缩放页面了),然后再“ALT+左键选择后拖动框选”,

c语言入门代码009 从 txt 文本文件中加载数据到结构体数组
加载数据过程分为三步:打开文件门,从文件中取出数据,然后关闭文件。第一步,通过fopen函数以读取模式打开文件,准备从文件头部获取数据。第二步,文件中逐个读取结构体字段,并将数据保存到数组中,直到文件结尾。feof函数用于检测文件是否达到末尾,判断是否需要结束循环。在读取数据时,使用fscanf函数,与...

C语言如何读取TXT全部字符?
你可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:char ch;while((ch= fgetc(fp)) != EOF)这样当读取到文件结...

利用C语言读取含文件头的txt文本并将学生信息和成绩分别保存到数组?
1、fgets每次读取一行,根据文本格式找到姓名和分数的行字符串。2、分别解析行字符串,获取其中的姓名和成绩(成绩字符串拆解后用atof函数转换成浮点数保存在浮点数数组中)。3、通过malloc和realloc申请一个对应大小的结构数组(你题目要求用数组,换成链表更好)4、将解析的数据保存到结构数组成员中。注意...

C语言中,如何将文本文件的内容输出到屏幕?
gets(my_filename) ; \/* 从键盘上输入要打开的文本文件名 *\/ fpr = fopen(my_filename, "r" ) ; \/* r:以文本方式打开文件 *\/ if( fpr == NULL ) \/* 若文件打开失败,则输出错误信息,并直接退出程序 *\/ { printf("Can't open %s for read !\\n", my_filename ) ;exit(1) ...

C语言读取文本文档中的信息,读到一半就停了
这个文件每行的最后不是,,而是换行符\\n 把fscanf,最后一个占位符%[^,]改成%[^\\n]就行了。

C语言如何获取文件信息?stat这个函数如何使用? - C \/ C++ -
错误代码 ENOENT 参数file_name指定的文件不存在 ENOTDIR 路径中的目录存在但却非真正的目录 ELOOP 欲打开的文件有过多符号连接问题,上限为16符号连接 EFAULT 参数buf为无效指针,指向无法存在的内存空间 EACCESS 存取文件时被拒绝 ENOMEM 核心内存不足 ENAMETOOLONG 参数file_name...

相似回答