pax*_*blo 18
cin它不是一个语句,它是一个引用标准输入流的变量.所以C中最接近的匹配实际上是stdin.
如果你有一个C++语句,如:
std::string strvar;
std::cin >> strvar;
Run Code Online (Sandbox Code Playgroud)
C中类似的东西是使用各种输入函数:
char strvar[100];
fgets (strvar, 100, stdin);
Run Code Online (Sandbox Code Playgroud)
请参阅我今天给出的一个问题的早期答案,其中一个方法是安全地进行线路输入和解析.它基本上输入一条线fgets(利用其缓冲区溢出保护),然后使用sscanf安全扫描线.
喜欢的东西gets()和某些变化的scanf()(如无界的字符串)应避免瘟疫一样,因为他们容易受到超支缓冲.它们适合玩耍,但是越早学会避免它们,代码就会越强大.
你可能想要scanf.
链接的一个例子:
int i, n; float x; char name[50];
n = scanf("%d%f%s", &i, &x, name);
Run Code Online (Sandbox Code Playgroud)
但是请注意(如注释中所述)scanf容易出现缓冲区溢出,并且您可以使用许多其他输入函数(请参阅参考资料stdio.h).