gpt4 book ai didi

c++ - scanf在c++中的表示是什么

转载 作者:行者123 更新时间:2023-11-30 21:45:48 24 4
gpt4 key购买 nike

<小时/>

我是 C++ 的初学者,我想知道以下的等效表示 scanf("%c",&c)在C++中,有人请告诉我如何写这个语句enter code here在c++中??

最佳答案

C++ 中 scanf("%c", &c) 的等效表示是 scanf("%c", &c)。 C++ 与大多数 C 语言非常兼容 - 您可以使用 mallocscanfprintf 等。

但是,如果你想遵循C++真正的精神,你应该以面向对象的方式来做:

#include <iostream>

int main(int argc, char * argv[])
{
char c;
std::cin >> c;

return 0;
}

这个解决方案的主要缺点是,如果您真的想知道std::cin >> c背后是什么,您必须学习>自动类分配链式调用运算符重载

无论如何,在您的情况下,阅读一本关于 C++ 的好书或写得很好的教程(其中涵盖了该语言的基础知识)似乎是一件好事。通过询问有关 SO 的此类基础知识的问题,您不会学到很多东西。

还有更多细节需要考虑:

std::cin>>c; is not equivalent to scanf("%c", &c);. operator>> will skip leading spaces, but scanf("%c"... will not, so If the user were to enter s, the scanf call would read ' ' into c, but the >> would read 's' into c. You can use the noskipws manipulator to change this, so: std::cin >> std::noskipws >> c; would be (at least closer to) equivalent to the scanf call. (thanks Jerry Coffin for the comment)

关于c++ - scanf在c++中的表示是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20835999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com