c语言读txt,txy文件每行的内容都为 一串字符,字符后面一个空格,空格后面几个数字,我提供一个字符串,你要识别出txt中和这个字符串对应的后面的数字,并输出
时间: 2024-03-16 11:41:16 浏览: 99
好的,我可以给你提供一段C语言代码来实现这个功能。首先,你需要使用标准C库中的fopen函数打开txt文件,然后使用fgets函数逐行读取文件内容,将读取到的每一行的字符串和你提供的字符串进行比较,如果匹配成功,则使用sscanf函数解析该行字符串中的数字,并将其输出。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp = fopen("file.txt", "r"); // 打开txt文件
char search_str[] = "hello"; // 你提供的字符串
char buf[1024]; // 存储读取到的每一行字符串
int num;
while (fgets(buf, sizeof(buf), fp)) { // 逐行读取文件内容
if (strstr(buf, search_str)) { // 字符串匹配成功
sscanf(buf, "%*s %d", &num); // 解析该行字符串中的数字
printf("%d\n", num); // 输出解析得到的数字
}
}
fclose(fp); // 关闭文件
return 0;
}
```
需要注意的是,上述代码中的`file.txt`为你要读取的txt文件名,需要根据实际情况进行修改。另外,代码中使用了`sscanf`函数的`%*s`格式表示跳过第一个字符串,因为该字符串对我们并不重要,只需要获取其后面的数字即可。
阅读全文