文件读写操作

来源:互联网 发布:使用java程序录音 编辑:程序博客网 时间:2024/06/03 21:24

这个程序把一个文件中的数据有选择地复制到另一个文件中,它同时打开两个文件,程序通过只保留每三个字符的第三个来压缩文件内容,最后把压缩后的文本写入第二个文件中。

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc ,char *argv[])
{
FILE *in, *out;
int ch;
int count = 0;
char name[40] = {0};
//检查命令行参数
if (argc != 2)
{
fprintf(stderr, "usage: %s filename\n", argv[0]);
exit(1);
}
//实现输入
if ((in = fopen(argv[1], "r")) == NULL)
{
fprintf(stderr, "I can't open the %s file.\n", argv[1]);
exit(2);
}
//实现输出
strcpy(name, argv[1]);
strcat(name, ".red" );
if ((out = fopen(name, "w")) == NULL)
{
fprintf(stderr, "can't create output file.\n");
exit(3);
}
//复制数据
while ((ch = getc(in)) != EOF)
{
count++;
if (count % 3 == 0)
putc(ch, out);


}
//文件关闭
if (fclose(in) != 0 || fclose(out) != 0)
{
fprintf(stderr, "error in closing files.\n");
exit(4);
}


return 0;
}
0 0
原创粉丝点击