草庐IT

GNU-getline

全部标签

c++ getline()在多次调用时不等待来自控制台的输入

我试图从控制台获取一些用户输入参数,两个字符串,两个整数和一个double。我正在尝试使用的相关代码是这样的:#include#includeusingnamespacestd;//...stringinputString;unsignedintinputUInt;doubleinputDouble;//...cout>inputUInt;tempDVD.setDuration(inputUInt);cout>inputUInt;tempDVD.setYear(inputUInt);cout>inputDouble;tempDVD.setPrice(inputDouble);但是,在运

python - 命令 'x86_64-linux-gnu-gcc' 失败,退出状态为 1

我尝试安装“scholarly”包,但一直收到此错误:x86_64-linux-gnu-gcc-pthread-DNDEBUG-g-fwrapv-O2-Wall-Wstrict-prototypes-fno-strict-aliasing-Wdate-time-D_FORTIFY_SOURCE=2-g-fstack-protector-strong-Wformat-Werror=format-security-fPIC-I/usr/include/python2.7-cbuild/temp.linux-x86_64-2.7/_openssl.c-obuild/temp.linux-x8

java - GNU 的 Java 编译器 (GCJ) 死了吗?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭9年前。Improvethisquestion截至2010年10月,为GNU'sJavacompiler死的?是否有任何有效的替代方案(尤其是将Java编译为native代码)?LLVM解决方案将是首选。 最佳答案 您可以使

c++ - 为什么有两个不同的 getline() 函数(如果确实有)?

每次我快速编写一段C++代码行std::strings;cin>>s;我诅咒自己,因为我忘记了它停在空白处而不是整行。然后,在想起getline时,我总是对这两种变体感到困惑:std::strings;getline(std::cin,s);和:charcs[256];std::cin.getline(cs,sizeof(cs));这两者除了数据类型之外真的有区别吗?在我看来,C++方式应该是前者。在什么情况下我会使用后者,因为我可能应该使用真正的字符串还是以null结尾的字符数组?而且,既然输入确实应该是输入流的权限,为什么istream的前一部分不是?

c++ - 特别是在 GNU/Linux 环境/工具链中的预编译头文件的优缺点是什么?

预编译的header似乎可以在大型项目中节省大量时间,但似乎也有一些问题。使用预编译头文件的优缺点是什么,特别是与在Gnu/gcc/Linux环境中使用它们有关? 最佳答案 预编译头文件的唯一潜在好处是,如果您的构建速度太慢,预编译头文件可能会加快它们的速度。潜在的缺点:更多Makefile依赖项以确保正确;如果他们错了,你会快速构建错误的东西。不好。原则上,并不是每个头文件都可以预编译。(考虑在#include之前放置一些#define。)那么gcc究竟在哪些情况下是正确的?您对这个前沿功能有多信任。如果您的构建速度足够快,则没有

c++ - 在调用 std::getline 之前检查数据可用性

我想从我使用std::getline的流中读取一些数据。下面是使用std::cin的示例。std::stringline;std::getline(std::cin,line);这是一个阻塞函数,即如果没有数据或行来读取它会阻塞执行。你知道在调用std::getline之前是否存在检查数据可用性的函数吗?我不想阻止。如何检查流缓冲区是否充满了对成功调用std::getline有效的数据?如下代码所示if(dataAvailableInStream()){std::stringline;std::getline(std::cin,line);} 最佳答案

c++ - std::cin.getline() 与 std::cin

什么时候应该使用std::cin.getline()?它与std::cin有什么不同? 最佳答案 我们来看看std::cin.getline()分开。首先,有std::.这是标准库所在的命名空间。它有数百种类型、功能和对象。std::cin就是这样一个对象。它是标准字符输入对象,在中定义.它有自己的一些方法,但您也可以将它与许多免费功能一起使用。这些方法和函数中的大多数都是从标准输入中获取一个或多个字符的方法。最后,.getline()是std::cin的一种方法(和其他类似的对象)。你告诉它应该从左侧的对象中获取多少个字符(此处为

c++ - C/C99/C++/C++x/GNU C/GNU C99 中枚举的签名

enum类型是有符号还是无符号?枚举的签名是否在C/C99/ANSIC/C++/C++x/GNUC/GNUC99之间有所不同?谢谢 最佳答案 枚举保证由整数表示,但实际类型(及其符号)取决于实现。您可以通过为枚举数之一赋予负值来强制枚举由有符号类型表示:enumSignedEnum{a=-1};在C++0x中,可以显式指定枚举的底层类型:enumShortEnum:short{a};(C++0x还增加了对作用域枚举的支持)为了完整起见,我将在TheCProgrammingLanguage,2nded.中添加,枚举数被指定为具有int

c++ - Gnu C++ 宏 __cplusplus 是否符合标准?

GnuC++编译器似乎将__cplusplus定义为1#includeintmain(){std::cout这会在标准c++模式和C++0x模式下使用gcc打印1,使用gcc4.3.4,和gcc4.7.0。C++11FDIS在“16.8预定义宏名称[cpp.predefined]”中说Thename__cplusplusisdefinedtothevalue201103LwhencompilingaC++translationunit.(Footnote:Itisintendedthatfutureversionsofthisstandardwillreplacethevalueoft

c++ - GNU C++ 如何检查 -std=c++0x 何时生效?

我的系统编译器(gcc42)可以正常使用我想要的TR1功能,但尝试支持系统以外的较新编译器版本,尝试访问TR1header#error需要-std=c++0x选项,因为关于它如何与库或类似的一些集线器连接。/usr/local/lib/gcc45/include/c++/bits/c++0x_warning.h:31:2:error:#errorThisfilerequirescompilerandlibrarysupportfortheupcomingISOC++standard,C++0x.Thissupportiscurrentlyexperimental,andmustbeen