44得票5回答
使用sscanf读取带空格的字符串

我正在为一个项目尝试从字符串中读取一个整数和一个字符串。唯一的问题是,sscanf() 在读取到空格时似乎会中断读取%s。有没有办法绕过这个限制?下面是我尝试做的一个示例:#include <stdio.h> #include <stdlib.h> int main(...

8得票3回答
scanf Cppcheck 警告

Cppcheck对scanf函数显示以下警告: Message: scanf函数没有设置字段宽度限制,可能会因为输入数据过大而导致崩溃。要修复此错误,请添加字段宽度说明符: %s => %20s %i => %3i 以下是一个可能会崩溃的示例程序: #inc...

17得票5回答
使用fscanf时宽度作为变量

我试图读取文件中的特定部分,每一行的数据量都不同,但我知道我想要多少字节的信息。就像这样:5bytes.byte1byte2byte3byte4byte5CKSum //where # of bytes varies for each line (and there is no period ...

15得票4回答
scanf() 可变长度指示符

我该如何使用变量指定scanf()应读取的最大字符数? 例如,使用printf()时,您可以像这样使用 * #define MAXVAL 5 printf("Print at maximum MAXVAL chars: %.*s\n", MAXVAL, "myStringHere"); 这将...

8得票7回答
如何在C语言中输入空格

我想从控制台获取包含空格的字符数组,我只知道在C语言中可以使用scanf方法,但是它会忽略空格并继续读取输入。该怎么办? 以下是我的代码: char address[100]; scanf("%s", address);

71得票6回答
如何使用C语言从键盘读取字符串?

我想读取用户输入的字符串,但我不知道字符串的长度。由于C语言中没有字符串,所以我声明了一个指针:char * word; 并且使用了 scanf 函数从键盘读取输入:scanf("%s" , word) ; 但我遇到了分段错误。 当长度未知时,如何在C语言中从键盘读取输入?

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

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

9得票2回答
一个字符数组后面出现了奇怪的字符

我是C语言的新手,但我正在学习! 我之前遇到过这个问题,并决定询问原因。请解释一下你的答案,这样我就可以学习了。 我编写了一个程序,允许您输入5个字符,然后显示您输入的字符并将它们反转,例如:“asdfg”-“gfdsa”。奇怪的是,在输入的原始字符后面会显示一个奇怪的字符。 以下是代码...

9得票4回答
动态字符串输入 - 使用scanf("%as")

我正在尝试使用 scanf 读取输入并将其存储到 char * 中,根据GCC手册的规定动态分配内存,但它会在编译时出现错误。 char *string; if (scanf ("%as",&string) != 1){ //some code } else{...

11得票2回答
如何测试scanf()函数的返回值?

我想确认从scanf()函数返回的值是否为浮点数。如何做到这一点?如果错误的数据类型被提供给scanf()函数,我的代码将无法正常运行。同样,我如何确认返回的值是一个字符字符串还是其他类型的值?