<stdio.h>
头文件中。int fscanf(FILE *stream,const char *format[,argument...]);
%[*][width][modifiers]格式字符其中,格式字符及说明如下表所示。
格式字符 | 说明 |
---|---|
c | 单个字符 |
d 或 i | 十迸制整数 |
e、E、f、g、G | 浮点数 |
u | 无符号十进制整数 |
o | 无符号八进制整数 |
x 或 X | 无符号十六进制整数 |
s | 字符串 |
p | 内存地址 |
[...] | 匹配指定的字符,可以用连字符 - 表示某个范围内的字符,例如 %[a-z] 表示读取 abc...xyz 范围内的字符、%[0-9] 表示读取 012...789 范围内的字符等 |
[^...] | 不匹配指定的字符,可以用连字符 - 表示某个范围内的字符,例如 %[^0-9] 表示匹配除十进制数字以外的所有字符,遇到十进制数字就停止读取。 |
修饰符 | 说明 |
---|---|
* | 跳过读入的数据,不存入对应的参数 argument 中 |
width | 指定输入数据所占用的宽度 |
modifiers |
指定由 d、i、x、X、0、u、e、f、g 说明的字符的大小 h:短整型或无符号短整型 l:长整型或无符号长整型或双精度浮点型 L:长双精度类型 |
#include <stdio.h> int main() { FILE *file = fopen("input.txt", "r"); if (file == NULL) { printf("无法打开文件!\n"); return 1; } int a, b, c; if (fscanf(file, "%d %d %d", &a, &b, &c) == 3) { printf("读取的整数: %d, %d, %d\n", a, b, c); printf("总和: %d\n", a + b + c); } else { printf("读取失败或格式不正确!\n"); } fclose(file); return 0; }在这个示例中,我们尝试从 "input.txt" 文件中读取三个整数。如果成功,我们打印它们的值和总和;否则,我们打印一个错误消息。
本文链接:http://task.lmcjl.com/news/14304.html