C语言怎么将存储到文件中的数据读写出来
时间: 2024-03-21 20:43:56 浏览: 71
在C语言中,我们可以使用`fread`函数从文件中读取二进制数据,使用`fwrite`函数将二进制数据写入文件中;使用`fgets`函数从文件中读取文本数据,使用`fputs`函数将文本数据写入文件中。
`fread`函数的使用方法如下:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
其中,`ptr`是指向要读取数据存储位置的指针;`size`是每个数据块的大小,以字节为单位;`count`是要读取的数据块数量;`stream`是指向文件的指针。
例如,要从一个名为`data.bin`的二进制文件中读取10个整数,可以使用以下代码:
```c
FILE *fp = fopen("data.bin", "rb");
int data[10];
fread(data, sizeof(int), 10, fp);
fclose(fp);
```
这将从`data.bin`文件中读取10个整数,并将它们存储到`data`数组中。
`fwrite`函数的使用方法如下:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
其中,`ptr`是指向要写入数据的指针;`size`是每个数据块的大小,以字节为单位;`count`是要写入的数据块数量;`stream`是指向文件的指针。
例如,要将一个名为`output.bin`的二进制文件中写入10个整数,可以使用以下代码:
```c
FILE *fp = fopen("output.bin", "wb");
int data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
fwrite(data, sizeof(int), 10, fp);
fclose(fp);
```
这将将`data`数组中的10个整数写入到`output.bin`文件中。
`fgets`函数的使用方法如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,`str`是指向存储读取数据的字符串的指针;`n`是最大读取字符数,包括终止符`\0`;`stream`是指向文件的指针。
例如,要从一个名为`data.txt`的文本文件中读取一行数据,可以使用以下代码:
```c
FILE *fp = fopen("data.txt", "r");
char buffer[256];
fgets(buffer, 256, fp);
fclose(fp);
```
这将从`data.txt`文件中读取一行数据,并将它存储到`buffer`数组中。注意,`fgets`函数会将读取到的终止符`\n`也存储到字符串中。如果文件中没有一整行数据,`fgets`函数将读取部分数据,并在读取到`n-1`个字符或遇到终止符`\n`时停止。
`fputs`函数的使用方法如下:
```c
int fputs(const char *str, FILE *stream);
```
其中,`str`是要写入文件的字符串;`stream`是指向文件的指针。
例如,要将一个名为`output.txt`的文本文件中写入一行数据,可以使用以下代码:
```c
FILE *fp = fopen("output.txt", "w");
char *str = "Hello, world!";
fputs(str, fp);
fclose(fp);
```
这将将`"Hello, world!"`字符串写入到`output.txt`文件中。
阅读全文