大家好,我是来自广东大学的大一狮子座新生一枚,我在大学的求学过程中从懵懂到有略微了解C语言的过程中也逐步开始涉猎与C语言相关的领域并在电脑的网业中发现了CSDN这一个关于C语言这个集各种高手的大平台,又此发一篇文章来做个自我介绍,我也希望在以后的学习中能和大家一起努力的不断挑战自我,并完成自我成长的每一次进步飞跃
C语言函数介绍
fread()函数是C语言中的标准库函数,用于从文件中读取数据,并将它们存储到指定的内存区域中。其定义如下:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
参数说明:
- `ptr` :指向要读取数据的内存位置
- `size` :每个数据元素的大小(以字节为单位)
- `count` :要读取的数据元素的个数
- `stream` :文件指针,指向要读取的文件
返回值:返回实际读取的数据元素个数
例如,在以下代码中,我们使用fread()函数从文件中读取10个整数,然后打印出来:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int nums[10];
int i, count;
fp = fopen("data.txt", "rb");
if(fp == NULL) {
printf("Fail to open file.\n");
exit(1);
}
count = fread(nums, sizeof(int), 10, fp);
printf("%d integers read from file:\n", count);
for(i = 0; i < count; i++)
printf("%d\n", nums[i]);
fclose(fp);
return 0;
}
```
注意事项:
- 读取二进制文件时,应该使用“rb”模式打开文件;
- 如果读取的数据元素个数小于指定的count,则可能是文件末尾或读错误;
- fread()函数返回实际读取的数据元素个数,可以用来判断是否读取成功。
scanf占位符
scanf是C语言中输入函数,其中占位符用于表示输入的数据类型和存储位置。以下是常见的scanf占位符:
- %d:用于读取整数
- %f:用于读取单精度浮点数
- %lf:用于读取双精度浮点数
- %c:用于读取字符
- %s:用于读取字符串
- %p:用于读取指针类型的数据
- %o:用于读取八进制数
- %x或%X:用于读取十六进制数(x用于表示小写字母,X用于表示大写字母)
举例:
```
int num;
scanf("%d", &num); //读取整数
```
```
char c;
scanf("%c", &c); //读取字符
```
```
float f;
scanf("%f", &f); //读取单精度浮点数
```
```
char str[20];
scanf("%s", str); //读取字符串
```