Tag: scanf

scanf和fgets有问题

这是为家庭作业分配一些给定的字符串。 我正在提示用户他们想要使用scanf排序的字符串数,根据该数字分配一个数组,然后用fgets获取字符串。 如果字符串的数量是硬编码的,那么一切正常,但添加了scanf以让用户决定搞砸了。 这是代码: #include #include #include #define LENGTH 20 // Maximum string length. int main(void) { int index, numStrings = 0; char **stringArray; printf(“Input the number of strings that you’d like to sort: “); assert(scanf(“%d”, &numStrings) == 1); stringArray = (char **)malloc(numStrings * sizeof(char *)); for (index = 0; index < numStrings; index++) { […]

从scanf函数接受任意数量的输入

我试图使用scanf函数读取未知数量的输入。 int a[100]; int i = 0; while((scanf(“%d”, &a[i])) != ‘\n’) i++; // Next part of the code 但是这个函数不会进入下一部分代码,似乎有一个无限的while循环。 我该如何解决这个逻辑错误? 是否还有像sscanf scanf一样的其他替代方法可以将整数读入数组?

fscanf返回值

fscanf在读取文件中的数据时返回什么。 例如, int number1, number2, number3, number4, c; c = fscanf (spFile, “%d”, &number1); //c will be 1 in this case. c = fscanf (spFile, “%d %d %d %d”, &number1, &number1, &number3, &number4); //in this case, c will return 4. 我只想知道为什么它会根据参数的数量返回这些值。

从控制台读取字符

我编写控制台应用程序,为i​​nt执行几个scanf,之后,我执行getchar: int x,y; char c; printf(“x:\n”); scanf(“%d”,&x); printf(“y:\n”); scanf(“%d”,&y); c = getchar(); 因此,我得到c = ‘\n’ ,尽管输入是: 1 2 a 这个问题怎么解决?

scanf的“正则表达式”是否支持标准?

scanf的“正则表达式”是否支持标准? 我无法在任何地方找到答案。 此代码适用于gcc,但不适用于Visual Studio: scanf(“%[^\n]”,a); 它是Visual Studio错误还是gcc扩展? 编辑:看起来像VS工作,但必须考虑Linux和Windows之间的行结束的差异。(\ r \ n)

validationscanf中的最大整数

我想从stdin读取一个int,但我想validation用户是否超过了int max值。 我该怎么做? int n; scanf(“%d”, &n); scanf读取十进制输入并存储在int中,导致溢出。 我该如何检查并避免这种情况?

用sscanf读取双倍时忽略’E’

我输入了”(50.1003781N, 14.3925125E)” 。这些是纬度和经度。 我想解析这个 sscanf(string,”(%lf%c, %lf%c)”,&a,&b,&c,&d); 但是当%lf在数字后面看到E ,它会消耗它并以指数forms将其存储为数字。 有没有办法禁用它?

如何使用scanf \ fscanf读取一行并解析为变量?

我正在尝试在每一行中读取使用以下格式构建的文本文件: 字符*,字符*,诠释 即: AAAAA,dfdsd,23 bbbasdaa,DDD,100 我想使用fscanf从文件中读取一行,并自动将该行解析为varilables string1,string2,intA 这样做的正确方法是什么? 谢谢

使用fscanf时的宽度作为变量

我试图读取文件的某个部分,并且每行的数据量不同但我知道我想要多少字节的信息。 像这样: 5bytes.byte1byte2byte3byte4byte5CKSum //where # of bytes varies for each line (and there is no period only there for readability) 实际数据: 05AABBCCDDEE11 03AABBCC22 04AABBCCDD33 所以我希望我的宽度是这样的变量: fscanf_s(in_file,”%variableX”, &iData); 这是可能的,因为现在我想我必须创建一个案例陈述?

scanf格式说明符中的星号是什么意思?

所以我偶然发现了这段代码,我无法弄清楚它的用途是什么,或者它是如何工作的: int word_count; scanf(“%d%*c”, &word_count); 我的第一个想法是%*d引用了char指针或禁止word_count取得char变量。 有人可以对此有所了解吗?