用C++编写1个程序,使用文件流的相关方法顺序完成以下操作: 读取文件Data.txt中的所有数据;将读取得到的数据以二进制的形式存放到程序所在目录下的文件Res.dat中;再次读取Res.dat中的所有数据;并将这些数据以文本文件的形式存放到程序所在目录下的Res.txt文件中,存放时每行2个数据,每个数据占10列,右对齐,左边补'C'字符。
时间: 2023-05-30 21:03:33 浏览: 124
```c
#include <stdio.h>
int main() {
FILE *fp1, *fp2, *fp3;
unsigned char buf[1024];
int len, i;
// 读取Data.txt中的所有数据
fp1 = fopen("Data.txt", "rb");
if (fp1 == NULL) {
printf("Failed to open Data.txt\n");
return 1;
}
// 将读取得到的数据以二进制的形式存放到程序所在目录下的文件Res.dat中
fp2 = fopen("Res.dat", "wb");
if (fp2 == NULL) {
printf("Failed to open Res.dat\n");
return 1;
}
while ((len = fread(buf, 1, 1024, fp1)) > 0) {
fwrite(buf, 1, len, fp2);
}
fclose(fp1);
fclose(fp2);
// 再次读取Res.dat中的所有数据
fp2 = fopen("Res.dat", "rb");
if (fp2 == NULL) {
printf("Failed to open Res.dat\n");
return 1;
}
// 将这些数据以文本文件的形式存放到程序所在目录下的Res.txt文件中
fp3 = fopen("Res.txt", "w");
if (fp3 == NULL) {
printf("Failed to open Res.txt\n");
return 1;
}
while ((len = fread(buf, 1, 1024, fp2)) > 0) {
for (i = 0; i < len; i += 2) {
fprintf(fp3, "%10d%10d\n", buf[i], buf[i + 1]);
}
}
fclose(fp2);
fclose(fp3);
return 0;
}
```
阅读全文