21xrx.com
2024-11-25 05:14:54 Monday
登录
文章检索 我的文章 写文章
用C++读取文件,将其中的字符串存入数组
2023-07-05 02:00:48 深夜i     --     --
C++ 读取文件 字符串 存入数组

在C++中,我们可以使用文件流来读取文件中的内容。如果文件中存储的是一些字符串,我们可以将这些字符串存入数组中。

首先,我们需要创建一个文件流对象,并打开待读取的文件:


#include <fstream>

using namespace std;

int main()

{

  ifstream infile("myfile.txt");

  if (!infile)

  

    cerr << "Error opening file." << endl;

    return EXIT_FAILURE;

  

  // 读取文件中的内容

  // ...

  return 0;

}

接下来,我们可以使用`getline`函数来逐行读取文件中的内容:


string line;

vector<string> file_content;

while (getline(infile, line))

{

  file_content.push_back(line);

}

在这段代码中,我们定义了一个`string`类型的变量`line`,用于存储每一行读取的内容。我们还定义了一个`vector `类型的变量`file_content`,用于存储读取的所有字符串。在每次循环中,`getline`函数会读取文件中的一行,并将其存入变量`line`中。随后,我们将`line`变量的值存入`file_content`变量中。

如果我们想在数组中存储文件中的所有字符串,我们可以使用数组代替`vector`:


const int MAX_LINES = 100;

string file_content[MAX_LINES];

int line_count = 0;

while (getline(infile, line))

{

  if (line_count < MAX_LINES)

  {

    file_content[line_count] = line;

    line_count++;

  }

  else

  

    cerr << "File too large. Maximum is " << MAX_LINES << " lines." << endl;

    break;

  

}

在这段代码中,我们定义了常量`MAX_LINES`,表示数组能够存储的最大行数。在每次循环中,我们先判断数组是否已经存满。如果还有空间,我们将当前行存入数组中,并将`line_count`变量加1。随后,我们判断`line_count`是否已经达到`MAX_LINES`。如果是,说明文件大小超过了数组能够存储的范围,程序将输出错误信息并退出循环。

有了上述代码,我们就可以读取文件中的字符串并存入数组中了。需要注意的是,要确保文件路径正确,并且文件能够被正确打开。否则,程序会报出错误信息并退出。

  
  

评论区

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