如何从文件中"2 dimentional vector"行 X 个单词?

How do I make a "2 dimentional vector" of lines X words from a file?

本文关键字:单词 vector 文件 dimentional      更新时间:2023-10-16

我有一个输入文本文件,在每行上都有不同的信息,但是我需要能够从特定行中快速选择一百次的特定单词,所以我需要一个向量字符串向量。

我有2个起点,但不知道该如何进行。

std::vector<std::string> lines;
std::string line;
while ( std::getline(input, line) ) {
    if ( !line.empty() )
        lines.push_back(line);
}

将其分为线

std::string word;
while (in_str >> word ) {
    input.push_back(word);
}

将其分为单词

您可以结合两种方法: - )

首先,您可以使用getline获得整个行,然后考虑该行std :: istringstream的来源(本质上是通常的istream),然后将输入分为单词)。

#include <iostream>
#include <string>
#include <vector>
#include <sstream>
int main(void) {
    std::vector<std::vector<std::string> > lines;
    std::string line;
    while ( std::getline(std::cin, line) ) {
        if ( !line.empty() ) {
            std::vector<std::string> words;
            std::string word;
            std::istringstream is(line);
            while (is >> word)
                words.push_back(word);
            lines.push_back(words);
        }
    }
    std::cout << "The word at line 3, pos 2 is "" << lines[2][1] << '"' << std::endl;
    return 0;
}

给我以下内容:

ABC DEF GDFQWE ASD ZXCQAZ WSX EDC第3行中的单词POS 2是" WSX"