在C语言中,读取数据通常有以下几种方法:
使用`scanf`函数
`scanf`函数用于从标准输入(通常是键盘)读取数据。它的原型如下:
```c
int scanf(const char *format, ...);
```
格式字符串`format`用于指定输入数据的格式,后面可以跟若干个指针,用于存储读取到的数据。例如,要从键盘读取一个整数,可以使用以下代码:
```c
include
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("你输入的整数是:%d", num);
return 0;
}
```
使用`fscanf`函数
`fscanf`函数用于从文件中读取格式化数据。它的原型如下:
```c
int fscanf(FILE *stream, const char *format, ...);
```
例如,要从文件中读取一个整数,可以使用以下代码:
```c
include
int main() {
FILE *file = fopen("filename.txt", "r");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
int num;
fscanf(file, "%d", &num);
printf("读取的整数为:%d\n", num);
fclose(file);
return 0;
}
```
使用`fgets`函数
`fgets`函数用于读取一行文本,遇到换行符就停。它的原型如下:
```c
char *fgets(char *s, int size, FILE *stream);
```
例如,要从文件中读取一行数据,可以使用以下代码:
```c
include
int main() {
FILE *file = fopen("filename.txt", "r");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
char line;
while (fgets(line, sizeof(line), file) != NULL) {
printf("%s", line);
}
fclose(file);
return 0;
}
```
总结
`scanf`:从标准输入读取数据,适用于键盘输入。
`fscanf`:从文件读取格式化数据。
`fgets`:从文件读取一行文本。
根据不同的需求选择合适的函数可以更高效地读取数据。