如何从文件中"2 dimentional vector"行 X 个单词?
How do I make a "2 dimentional vector" of lines X words from a file?
我有一个输入文本文件,在每行上都有不同的信息,但是我需要能够从特定行中快速选择一百次的特定单词,所以我需要一个向量字符串向量。
我有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"
相关文章:
- 文本文件中的单词链表
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 使用std::vector的OpenCL矩阵乘法
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 在某些循环内使用vector.push_back时出现分段错误
- 当vector是tje全局变量时,c++中vector的内存管理
- 在指针的帮助下,文本文件中单词的频率
- std::vector的包装器,使数组的结构看起来像结构的数组
- 为什么(-1)%vector::size()总是返回0
- 如何根据单词在文本中出现的概率输出单词
- 在C++中将类(带有Vector成员)保存为二进制文件
- 从字符串变量中逐字符读取单词
- 使用std::mt19937从字符串中返回一个随机单词
- 检查一系列单词,形成一个文本文件,保存在字符串vector C 中
- 如何从文件中"2 dimentional vector"行 X 个单词?
- 如何在容器"std::vector<char>"查找单个单词
- C ++将文本文件中的读取到向量中,<vector>然后根据内部向量中的第一个单词写入向量或数组
- 从vector和unordered_map中获取三个出现次数最多的单词及其计数值