【发布时间】:2018-03-24 20:15:26
【问题描述】:
我正在尝试将字符串的第一个字符写入 char 类型的变量。使用 std::cin (注释掉)它工作正常,但使用 scanf() 我得到运行时错误。当我输入“LLUUUR”时它会崩溃。为什么会这样?使用 MinGW。
#include <cstdio>
#include <string>
#include <iostream>
int main() {
std::string s;
scanf("%s", &s);
//std::cin >> s;
char c = s[0];
}
【问题讨论】:
-
因为
std::string不是char*(当您使用%s时scanf期望) -
使用有效的代码有什么问题? :-)