sscanf函和fscanf函数
时间: 2023-10-17 10:25:48 浏览: 80
sscanf 函数用于从一个字符串中按照指定格式提取数据,而 fscanf 函数用于从文件中按照指定格式读取数据。它们的使用方法和参数类似,都是通过指定的格式字符串来匹配并提取数据。
下面是 sscanf 函数的一个例子:
```c
#include <stdio.h>
int main() {
char str[] = "CSDN 2022";
char name[10];
int year;
sscanf(str, "%s %d", name, &year);
printf("Name: %s\n", name);
printf("Year: %d\n", year);
return 0;
}
```
上述代码中,通过 sscanf 函数从字符串 `str` 中按照格式字符串 `"%s %d"` 提取出了名字和年份,并分别存放在变量 `name` 和 `year` 中。
而 fscanf 函数的使用与 sscanf 函数类似,只是它从文件中读取数据。下面是 fscanf 函数的一个例子:
```c
#include <stdio.h>
int main() {
FILE *fp;
char name[10];
int year;
fp = fopen("file.txt", "r");
fscanf(fp, "%s %d", name, &year);
fclose(fp);
printf("Name: %s\n", name);
printf("Year: %d\n", year);
return 0;
}
```
上述代码中,通过 fscanf 函数从名为 "file.txt" 的文件中按照格式字符串 `"%s %d"` 读取出了名字和年份,并分别存放在变量 `name` 和 `year` 中。最后关闭文件。
总结来说,sscanf 函数用于从字符串中提取数据,而 fscanf 函数用于从文件中读取数据。它们都需要指定格式字符串来匹配并提取/读取数据。
阅读全文