如何从文件的输入文本中消除字符/整数

How to dismiss characters/integers from input text from file?

本文关键字:字符 整数 文本 文件 输入      更新时间:2023-10-16

我已经设法编写了一些可以从.txt文件中读取的代码,但我希望我的程序只读取重要数据。

例如,如果我的文本文件有以下数据:

Name= Samuel
Favourite colour= Green
Age= 24
Gender= Male

我希望我的程序只读取,忽略"="之前的所有内容

Samuel
Green
24
Male

我研究了.substr()方法,但是,你需要知道=符号的确切位置

这是我的代码,它不工作

while ( getline (open_file,line) ){
  for (int i=0; i<line.length(); i++){
    if (line == "="){
      cout << " " + (rest of the line;
    }

如果有人能帮我,我将不胜感激。

读入数据文件最有效的方法是一次读入一行字符串变量。接下来,提取重要部分。

您的数据文件的格式如下:

<name> = <value>

我建议您将名称提取为字符串(例如子字符串),然后可以将原始形式的原始数据传递给其他函数。让其他函数担心转换为整数或其他数据类型。

名称字段可以通过搜索"="并记住"="的位置来找到。接下来使用子字符串方法,从字符串的开头提取到"="之前的位置。

该值是从"="的位置开始到字符串末尾的子字符串。

我将让您查找std::string函数以及如何使用它们。我不想给你代码,因为你不会学到那么多(比如如何查找函数)。

另请参见std::getline