c++ 文件读写

C++的文件读写比起C的要容易。C++进行文件读写涉及到的头文件有

<ifstream>: 文件读操作相关

<ofstream>:文件写操作相关

<fstream>:可以说是ifstream和ofstream的集合。


文件读操作:

用法跟cin差不多,只是输入流的来源不是终端,而是从本地资源。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() 
{
  ifstream is("input.txt");
  string s;

  while (is >> s) {
    cout << s << endl;
  }
  return 0;
}

input.txt:

a b

c d

output:

a

b

c

d

如果想读取正行,则需要使用getline.使用getline时,需要使用char数组,第二个参数是指每行读入多少个字符。

#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
using namespace std;

int main() 
{
  ifstream is("input.txt");
  char in[100];
  while (is.getline(in, strlen(in))) {
    cout << in << endl;
  }
  return 0;
}
output:

a b

c d


文件写操作:

用法于cout差不多,cout 是把输出流输出到终端,这里是把输出流输出到本地存储。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() 
{
  ifstream is("input.txt");
  ofstream os("output.txt");
  char in[100];
  while (is.getline(in, 100)) {
    os << in << endl;
  }
  return 0;
}

output.txt:

a b

c d

这里C++的读写操作就简单介绍到这里,这些用起来很容易上手。当然C++文件处理还有很多的函数调用,如read, write, peek, seekg, tellg等等,这些可以查看文档,推荐:

http://www.cplusplus.com/reference/fstream/fstream/,这个在线文档关于c或C++的API很多有例子,这一点很不错。

你可能感兴趣的:(c++ 文件读写)