21xrx.com
2024-12-22 20:52:47 Sunday
登录
文章检索 我的文章 写文章
C++文件操作指南:读写和保存文件
2023-07-10 20:22:13 深夜i     --     --
C++ 文件操作 读取 写入 保存

C++是一种流行的编程语言,常被用于开发各种类型的应用程序。文件操作是C++程序的重要部分,主要涉及到读取、写入和保存文件,这些操作可以通过使用C++标准库中的文件流来实现。本文将介绍如何在C++中进行文件操作。

1. 打开文件

在C++中,要打开一个文件,需要使用文件流(fstream)类。该类提供了两个主要的函数,用于打开和关闭文件,分别是open()和close()函数。

打开文件时,需要指定文件的名称和打开方式,如下所示:


#include <fstream>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::in);

  //其中 ios::in 是以只读方式打开文件

  //其他可用选项有:ios::out(写方式打开文件)、ios::app(将数据追加到文件末尾)等

  if (!file.is_open())

   cout << "File not found";

   return 1;

 

  // 文件已打开,可以进行文件操作。

  file.close();

  return 0;

}

2. 读取文件

文件打开后,可以使用文件流的函数来读取其中的数据。常见的读取文件的函数包括get()、getline()和read()。

get()函数用于逐个字符地读取文件中的数据,直到读取到文件末尾。例如:


#include <fstream>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::in);

  char c;

  while (file.get(c))

   cout << c;

 

  file.close();

  return 0;

}

上述代码将打开一个名为"filename.txt"的文件,并使用get()函数逐个字符地读取其中的数据,并将其输出到屏幕上。

getline()函数用于读取文件中的一行数据,并将其存储到字符串中。例如:


#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::in);

  string s;

  getline(file, s);

  cout << s;

  file.close();

  return 0;

}

上述代码将读取文件中的第一行数据,并将其输出到屏幕上。需要注意的是,getline函数并不会返回行末的换行符,因此如果需要在输出时保留换行符,需要手动添加。

read()函数用于读取指定数量的字符或字节。例如:


#include <fstream>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::in);

  char buffer[10];

  file.read(buffer, 10);

  cout << buffer;

  file.close();

  return 0;

}

3. 写入文件

在C++中,使用文件流的put()和write()函数可以向文件中写入数据。put()函数用于写入单个字符,write()函数用于写入指定数量的字符或字节。例如:


#include <fstream>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::out); //以写方式打开文件

  //使用put()函数写入单个字符

  char c = 'A';

  file.put(c);

  //使用write()函数写入多个字符

  char buffer[10] = "Hello";

  file.write(buffer, 5);

  file.close();

  return 0;

}

上述代码将打开一个名为"filename.txt"的文件,使用put()和write()函数向其中写入数据,然后关闭文件。

4. 保存文件

保存文件与写入文件类似,都是使用文件流的put()和write()函数进行操作。通常,保存文件时需要先将数据写入到缓冲区中,然后再将缓冲区中的数据一次性写入到文件中。可以使用flush()函数将缓冲区中的数据刷新到文件中。例如:


#include <fstream>

#include <iostream>

using namespace std;

int main() {

  fstream file;

  file.open("filename.txt", ios::out);

  file << "Hello, world!";

  file.flush(); //刷新缓冲区

  file.close();

  return 0;

}

上述代码将向名为"filename.txt"的文件中写入数据,并在写入完成后手动调用flush()函数将缓冲区的数据刷新到文件中。

总结

C++是一种强大的编程语言,在文件操作方面也有很多好用的工具和函数。通过使用文件流类,我们可以方便地进行文件的读写和保存操作。需要注意的是,在进行文件操作时一定要注意文件的打开和关闭操作,避免文件泄露和损坏。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复