getline直接到数组c ++,在一行

时间:2014-11-22 15:59:38

标签: c++ getline arrays

有没有办法直接将getline存储到c char array

目前,我正在做这样的事情......

istreams.getline(name, sizeof(name));
strcpy(names[i], name);

是否可以在一行中执行此操作,例如istreams.getline()

1 个答案:

答案 0 :(得分:0)

替换这两行

istreams.getline(name, sizeof(name));
strcpy(names[i], name);

这个

istreams.getline( names[i], sizeof(names[i]));

我认为names是一个二维字符数组。否则,如果names[i]是指针,则必须使用其他值而不是表达式sizeof(names[i])

此外,您可以使用std::vector<std::string>作为字符串的容器。

例如

while ( std::getline( istreams, name ) ) v.push_back( name );