c++ - 如何在 C++ 中使用 scanf() 读取字符串?

标签 c++ string input scanf

我可以使用 std::cin 读取字符串,但我不知道如何使用 withscanf() 读取字符串。如何更改下面的代码以使用 scanf() ?

string s[20][5];

for (int i=1;i<=10;i++)
{
  for (int j=1;j<=3;j++) 
  {
      cin>>s[i][j];
  }
}

最佳答案

使用 C scanf() 函数需要使用 C 字符串。此示例使用临时 C 字符串 tmp,然后将数据复制到目标 std::string

char tmp[101];
scanf("%100s", tmp);
s[i][j] = tmp;

关于c++ - 如何在 C++ 中使用 scanf() 读取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910483/

相关文章:

c++ - 未解之谜

c++ - Visual c++ Express - 恢复源代码

swift - 将 ASCII 符号插入字符串 (Swift)

javascript - 如何从 Markdown 代码块字符串中提取代码?

javascript - “仅限数字指令”在 Chrome 49.xx.xx 及更低版本中不起作用

C fscanf - 格式化输入

c++ - 对齐存储和严格别名

c++ - 为什么自动返回类型在此示例中会丢失移动语义?

java - 这个 Java String 数组声明有什么问题 - 非常奇怪

java - 读取和写入多个 HashMap