我试图找出是否有一种在C中将字符串转换为整数的替代方法.
我经常在我的代码中模式化以下内容.
char s[] = "45";
int num = atoi(s);
Run Code Online (Sandbox Code Playgroud)
那么,有更好的方式或其他方式吗?
我想转换一个char数组[],如:
char myarray[4] = {'-','1','2','3'}; //where the - means it is negative
Run Code Online (Sandbox Code Playgroud)
所以它应该是整数:-1234使用C中的标准库.我找不到任何优雅的方式来做到这一点.
我可以肯定附加'\ 0'.
我已经为此搜索了几个小时,但似乎找不到答案,尤其是在 C 语言方面。在java中,转换等很简单,但我似乎无法在C中牢牢掌握它。
我的问题是:我必须从用户那里获得输入,他们可以输入 0 到 31 之间的任何数字。他们最多可以输入 31 个数字。他们可以重复。输入可能如下所示:3 15 32。我知道如何使用 fgets() 函数获取此输入并将其存储为字符串。我将输入存储在数组 s[];
现在,我被卡住的部分,如何将其转换为 int 数组,以便 int int[0]=3、i[1]=15、i[2]=32 等?
我尝试使用 sscanf(s, "%d", int),但它只能从输入中获取第一个数字,将其存储在 int[0] 中,然后不填充其余部分。是否有某种功能可以让这一切变得简单快捷?
先感谢您。
我有一个定义变量的程序 int data
该程序用于 scanf("%d",&data)从stdin读取数据.如果来自stdin的数据不是整数,我必须打印错误消息.
我试过了 if(scanf("%d",&data) ==EOF){ printf("error");return 1;}
它对我没用.那么,我如何确定scanf是否失败或成功?