相关疑难解决方法(0)

如何在C中将字符串转换为整数?

我试图找出是否有一种在C中将字符串转换为整数的替代方法.

我经常在我的代码中模式化以下内容.

char s[] = "45";

int num = atoi(s);
Run Code Online (Sandbox Code Playgroud)

那么,有更好的方式或其他方式吗?

c string atoi

238
推荐指数
6
解决办法
92万
查看次数

将char数组转换为C中的int数

我想转换一个char数组[],如:

char myarray[4] = {'-','1','2','3'}; //where the - means it is negative
Run Code Online (Sandbox Code Playgroud)

所以它应该是整数:-1234使用C中的标准库.我找不到任何优雅的方式来做到这一点.

我可以肯定附加'\ 0'.

c arrays int char

30
推荐指数
2
解决办法
21万
查看次数

C将Char数组(字符串)转换为int数组

我已经为此搜索了几个小时,但似乎找不到答案,尤其是在 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] 中,然后不填充其余部分。是否有某种功能可以让这一切变得简单快捷?

先感谢您。

c arrays type-conversion

5
推荐指数
1
解决办法
1万
查看次数

如何确定scanf是否读取格式中指定的内容?

我有一个定义变量的程序 int data

该程序用于 scanf("%d",&data)从stdin读取数据.如果来自stdin的数据不是整数,我必须打印错误消息.

我试过了 if(scanf("%d",&data) ==EOF){ printf("error");return 1;}

它对我没用.那么,我如何确定scanf是否失败或成功?

c integer scanf

4
推荐指数
1
解决办法
8011
查看次数

标签 统计

c ×4

arrays ×2

atoi ×1

char ×1

int ×1

integer ×1

scanf ×1

string ×1

type-conversion ×1