28得票5回答
我应该使用什么代替sscanf?

我遇到了一个问题,需要从字符串中提取内容。虽然sscanf能够解决这个问题,但是它旧且不安全。我想使用一些更现代的C++标准库组件来解决这个问题。请问应该使用什么替代方案?

26得票7回答
C语言:多个scanf时,我输入一个scanf的值时跳过了第二个scanf。

我有一段代码(函数被省略了,因为逻辑是作业的一部分): #include <stdio.h> int main() { char c = 'q'; int size; printf("\nShape (l/s/t):"); scanf("%c...

26得票5回答
简单的C语言scanf函数无法工作?

如果我尝试这样做:int anint; char achar; printf("\nEnter any integer:"); scanf("%d", &anint); printf("\nEnter any character:"); scanf("%c", &achar)...

26得票4回答
scanf()跳过变量

在C语言中,使用scanf()函数和参数scanf("%d %*d", &a, &b)会有不同的表现。它只会为一个变量输入值,而非两个变量。 请解释一下这个问题! scanf("%d %*d", &a, &b);

26得票7回答
当格式字符串末尾有换行符时,为什么scanf需要两次输入?

#include <stdio.h> #include <stdlib.h> #include <string.h> char *method1(void) { static char a[4]; scanf("%s\n", a); ...

26得票3回答
如何通过fscanf找到EOF?

我正在使用fscanf()从文件中读取矩阵。如何找到EOF?即使在每个放入arr[]数组的字符串后尝试查找EOF,我仍然无法找到它。 通过计数器count,我正在读取输入文件: -12 23 3 1 2 4 int main() { char arr[10],len; i...

25得票3回答
编译器警告信息:“警告:格式‘%s’期望类型为‘char *’,但参数2的类型为‘char (*)’”。

我正在尝试运行一个简单的 C 程序,但是我遇到了这个错误: 警告:格式‘%s’预期为‘char *’类型,但是第二个参数的类型为‘char (*)[20]’ 我正在运行 Mac OS X v10.8 (Mountain Lion) 并且在终端中使用 GCC 4.2.1 进行编译。 #...

25得票2回答
在C语言的scanf()函数中使用"\n"的方法

在我的一个程序中,我不小心使用了scanf("%d\n",&val);,我无法理解函数所表现出来的行为。int main(){ int val; scanf("%d\n", &val); printf("%d\n", val); return 0...

25得票3回答
C语言中scanf的布尔数据类型格式说明符

我在使用C std99中定义在<stdbool.h>头文件中的bool数据类型。现在我想要用户提供输入。我需要在scanf中使用什么格式说明符来从用户输入一个字节大小的布尔值,然后在我的程序中进行操作。 您可以使用"%d"格式说明符来读取用户输入的整数值并将其存储在bool变量中...

24得票3回答
更安全、易于使用和灵活的C++替代方案,可替代sscanf()函数。

当我需要从一堆字符串中扫描值时,我经常会回到C语言的sscanf()函数,仅仅因为它简单易用。例如,我可以很简洁地从一个字符串中提取出两个双精度浮点数:string str; double val1, val2; if (sscanf(str.c_str(), "(%lf,%lf)", &am...