我正在尝试使用c ++提取包含txt文件中所有字符串的向量,我几乎没有经验。在java或matlab中,这本来很简单,我所要做的就是
从txt文件中读取一长串字符序列。
循环完成此序列并提取字符串。
在c ++中似乎还有很多事情要处理,例如,我被要求
将新的C ++标题(.h)文件添加到我的程序中,并在其中声明相关的不同数组索引的枚举。
声明一个带有两个参数的文件解析函数:对C ++样式字符串的标准模板库(STL)向量的引用(例如,类型为vector&)和C样式的字符串(类型) char *);
这些对我来说没有多大意义。是否有一个很好的资源来获得帮助?
答案 0 :(得分:0)
要阅读文件:
std::ifstream in("foo.txt");
std::stringstream buffer;
buffer << in.rdbuf();
之后,根据您的具体要求,有多种方法可以分割内容。
答案 1 :(得分:0)
由于您不熟悉C ++,我建议您查看此网站:http://www.cplusplus.com/
如果使用命令行运行程序,则从输入文件中解析相对容易。只需包括主要功能如下:
int main(int argc, char **argv)
然后,使用argv作为数组访问传入的参数:
var = argv[0];
声明一个char数组,然后使用该数组捕获文件的每一行。
char input[MAX_SIZE];
while(cin.getline(input, MAX_SIZE))
{
//Each time this executes, input contains all characters of a line, like a string
//e.g. make it a String and add it to a vector of type String
//do something with input[]
}
您的文件解析函数可以接收我在主参数中指定的两个参数,但这些参数也必须声明为main的参数。然后,您的函数可以按照我演示的方式获取输入。
至于你的头文件,我不确定你的意思是什么类型的枚举,但你可以在上面给出的网站上找到枚举的语法和规则。如果我没记错的话,Java和C ++中的枚举类似。