c++ - 如何从 C++ 中的文本文件中获取特定行?

标签 c++ file-io external

我需要一些 C++ 方面的帮助

我正在尝试创建一个程序,其中包含练习不同德语案例的练习。

硬编码所有问题和相应的答案似乎是一项非常繁重的工作,而且效率极低。

我希望我的程序做的是:从文件 X 中随机获取一行,并从文件 Y 中获取相同的行号。(这似乎是从外部文件中获取问题和答案的最简单方法。)我,获得一个随机数并将其用作行号似乎是最合乎逻辑的。但是,这就是我能走多远......

我知道基本的 C++,但非常渴望学习。

任何人都可以向我解释如何实现这一点,包括所有必要的命令吗?

最佳答案

首先,我建议您将问题和答案存储在同一个文本文件中,可以交替使用问题行和答案行。这将使纠正错误、添加/删除问题和数据的一般维护变得更加容易。

但是如果您想将它们保存在单独的文件中,以下代码片段将读取您的文本文件并将问题存储在一个数组(一个 STL vector )中,然后您可以按照您喜欢的任何方式对其进行索引或迭代:

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

int main()
{
        std::ifstream file("questions.txt");
        std::string line;
        std::vector<std::string> questions;
        while (std::getline(file, line))
        {
            questions.push_back( line );
        }
        // Now do something interesting with your questions. You can index them
        // like this: questions[5], or questions[random_index]
}

关于c++ - 如何从 C++ 中的文本文件中获取特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305544/

相关文章:

c++ - 通用 Objective-to-C++ 翻译策略

java - 应用程序只是强制关闭并停止工作,为什么?

java - Sams Teach Yourself Java in 24 Hours Rogers Cadenhead MP3 第 20 章 MP3 文件错误第六版

git - 如何将 git 中的子模块更新为该外部仓库中的 HEAD 提交

c++ - PROCESS_MEMORY_COUNTERS 结构中的哪个成员给出了当前使用的内存

c++ - gdb 无法索引到数组并打印值

c++ - if else 字符逻辑有缺陷

java - Java 中是否可以进行这种类型的搜索

html - 外部 CSS 不工作