c 语言fwrite
时间: 2023-12-22 11:29:08 浏览: 106
以下是一个使用C语言中的fwrite函数进行文件写入的例子:
```c
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main() {
FILE *p = fopen("Contact.txt", "wb");
if (p == NULL) {
printf("%s", strerror(errno));
}
char arr[20] = "hello world";
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
fwrite(arr + i, sizeof(arr[0]), 1, p);
}
fclose(p);
p = NULL;
return 0;
}
```
该例子中,我们首先使用fopen函数打开一个名为"Contact.txt"的文件,并以二进制的方式写入数据。如果文件打开失败,我们使用strerror函数打印出错误信息。然后,我们定义一个字符数组arr,并将其初始化为"hello world"。接下来,我们使用fwrite函数将arr中的每个元素写入文件中,每次写入一个元素,写入的类型为char型。最后,我们使用fclose函数关闭文件,并将指针p置为NULL。
相关问题
c 语言文件fwrite函数
fwrite() 是 C 语言中的文件写入函数,其函数原型为:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
它的作用是将 ptr 指向的内存区域中的数据写入 stream 指向的文件中,写入的数据大小为 size * count 字节。
其中,ptr 是指向要写入数据的指针;size 是每个数据块的大小;count 是要写入的数据块的数量;stream 是指向要写入的文件的指针。
函数返回值为实际写入的数据块数量,如果返回值小于 count,则表示写入出错。
c 语言文件fwrite函数怎么用
使用 fwrite() 函数的一般步骤如下:
1. 打开文件,获取文件指针。可以使用 fopen() 函数打开文件,获取文件指针,例如:
```c
FILE *fp = fopen("example.txt", "wb");
```
这里以二进制写入模式打开 example.txt 文件,获取文件指针 fp。
2. 定义要写入的数据和数据块大小、数量。例如:
```c
int data[] = {1, 2, 3, 4, 5};
size_t size = sizeof(int);
size_t count = 5;
```
这里定义了一个整型数组 data,每个数据块大小为 sizeof(int),要写入的数据块数量为 5。
3. 使用 fwrite() 函数将数据写入到文件中,例如:
```c
size_t written = fwrite(data, size, count, fp);
```
这里将数组 data 中的数据写入到文件指针 fp 指向的文件中,写入的数据块大小为 size,数量为 count。函数返回值为实际写入的数据块数量。
4. 关闭文件。使用 fclose() 函数关闭文件指针,例如:
```c
fclose(fp);
```
完整的示例代码如下:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "wb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
int data[] = {1, 2, 3, 4, 5};
size_t size = sizeof(int);
size_t count = 5;
size_t written = fwrite(data, size, count, fp);
if (written != count) {
printf("Failed to write to file.\n");
return 1;
}
fclose(fp);
return 0;
}
```
注意,在使用 fwrite() 函数写入数据时,可能会出现写入数据不完整的情况。因此,我们需要根据实际写入的数据块数量进行错误处理。
阅读全文