c++文件的读取和写入
时间: 2023-11-05 09:01:57 浏览: 85
C语言提供了许多函数来读取和写入文件,其中最常用的是fopen、fclose、fread和fwrite。
1. 打开文件:使用fopen函数打开文件,可以指定文件名,打开模式和文件类型。打开模式包括只读、只写、追加等模式。文件类型包括文本文件和二进制文件。
2. 关闭文件:使用fclose函数关闭文件,释放文件资源。
3. 读取文件:使用fread函数读取文件内容,可以指定读取的字节数和读取的次数。读取文本文件时,可以使用fgets函数逐行读取。读取二进制文件时,可以使用fread函数读取指定字节数的数据块。
4. 写入文件:使用fwrite函数写入文件内容,可以指定写入的字节数和写入的次数。写入文本文件时,可以使用fprintf函数按照格式写入数据。写入二进制文件时,可以使用fwrite函数写入指定字节数的数据块。
例如,读取文本文件的示例代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char buffer[1024];
fp = fopen("myfile.txt", "r");
if(fp == NULL)
{
printf("Failed to open file\n");
return 1;
}
while(fgets(buffer, 1024, fp) != NULL)
{
printf("%s", buffer);
}
fclose(fp);
return 0;
}
```
写入文本文件的示例代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen("myfile.txt", "w");
if(fp == NULL)
{
printf("Failed to open file\n");
return 1;
}
fprintf(fp, "Hello, world!\n");
fclose(fp);
return 0;
}
```
读取二进制文件的示例代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char buffer[1024];
fp = fopen("myfile.bin", "rb");
if(fp == NULL)
{
printf("Failed to open file\n");
return 1;
}
fread(buffer, sizeof(buffer), 1, fp);
printf("%s", buffer);
fclose(fp);
return 0;
}
```
写入二进制文件的示例代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char buffer[1024] = "Hello, world!\n";
fp = fopen("myfile.bin", "wb");
if(fp == NULL)
{
printf("Failed to open file\n");
return 1;
}
fwrite(buffer, sizeof(buffer), 1, fp);
fclose(fp);
return 0;
}
```
阅读全文