使用getline在数组中存储字符串

时间:2013-07-05 12:49:40

标签: c++ getline

这是代码:

#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>

int main()
{
      char str1[100];
      char str2[100];
      getline(str1,100,'\n');
      getline(str2,100,'\n');
      return 0;
}

我想读取字符串并将其存储在数组中,所以我在使用此方法,但它在编译时显示以下错误

   [Error]138: error: `getline' was not declared in this scope

在数组中读取字符串的方法是什么?

2 个答案:

答案 0 :(得分:5)

getlinecin的成员(属于std命名空间)。你需要说:

std::cin.getline(...)

Test

虽然我个人推荐this

#include <string>
#include <iostream>

int main()
{
    std::string str1;
    std::string str2;
    std::getline(std::cin, str1);
    std::getline(std::cin, str2);
    return 0;
}

答案 1 :(得分:-3)

请使用gets()或(对于Microsoft编译器gets_s()(使用缓冲区长度检查))

#include <iostream>
#include <string>

int main()
{
  char str1[100];
  char str2[100];

  gets(str1);
  gets(str2);

  return 0;
}