以下代码摘自《小甲鱼C++快速入门》视频教程
C语言:filecopy.c;
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
FILE *in, *out;
int ch;
if (argc != 3)
{
fprintf(stderr, "输入形式:fileCopy 源文件名 目标文件名\n");
exit(EXIT_FAILURE);
}
if ((in = fopen(argv[1], "rb")) == NULL)
{
fprintf(stderr, "打不开文件:%s \n", argv[1]);
exit(EXIT_FAILURE);
}
if ((out = fopen(argv[2], "wb")) == NULL)
{
fprintf(stderr, "打不开文件:%s \n", argv[2]);
fclose(in);//只有前面通过,才会进行这里的判断
exit(EXIT_FAILURE);
}
while (ch = getc(in) != EOF)
{
if (putc(ch, out) == EOF)
break;
}
if (ferror(in))
{
printf("读取文件 %s 失败\n", argv[1]);
}
if (ferror(out))
{
printf("写入文件 %s 失败\n", argv[2]);
}
printf("成功复制1个文件!\n");
fclose(in);
fclose(out);
system("pause");
return 0;
}
C++代码:读入文件
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream in;
in.open("test.txt");
if (!in)
{
cerr << "打开文件失败" << endl;
return 0;
}
char x;
while (in >> x)
{
cout << x;
}
cout << endl;
in.close();
system("pause");
}
C++代码:
不同的读取模式并存
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
fstream fp("test.txt", ios::in | ios::out);
if (!fp)
{
cerr << "打开文件失败" << endl;
return 0;
}
fp << "IloveFishc.com";
static char str[100];
fp.seekg(ios::beg);//使得文件指针指向文件头,ios::end则是文件尾
fp >> str;
cout << str << endl;
fp.close();
system("pause");
return 0;
}
C++代码:
filecopy.cpp 自己写的
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream in("test.txt", ios::in);
if (!in)
{
cerr << "打开文件失败" << endl;
return 0;
}
ofstream out("2.txt", ios::out);
char tmp[1000];
in >> tmp;
out << tmp;
in.close();
out.close();
system("pause");
return 0;
}