【发布时间】:2014-07-21 09:59:26
【问题描述】:
在我的程序中,我有一个 char 数组(char data[]),我必须从中提取数据并将其存储在一个整数变量(值)中。为此,我在我的程序中使用了 atoi。问题是我有时会在 char 数组(数据)中收到 null。如果我在这个值上使用 atoi,我会在整数变量中得到值 0 而不是 (null)
真正的功能相当大,我不能在这里发布整个代码。从下面提到的功能,我希望你们能对我在这里做什么有所了解。
Get_Data(char data[])
{
int value;
value = atoi(p);
}
我最近读到我们应该使用 strtol 而不是 atoi。我也试过了。但我的变量值仍然为 0。
我想知道我应该使用哪个函数来获得 (null) 整数变量值?
这里的null是指空字符数组
请提供针对该问题的解决方案。在上面的函数中,如果 data 得到空 char 值,我如何确保我的 int 变量值也得到空值而不是零??
【问题讨论】:
-
在 C/C++ 中,您不能将
null存储在int变量中。 -
当您说“null”时,您是指空字符数组还是字符串“null”?
-
@Holt 这取决于他所说的“null”是什么意思。您绝对可以在
int中存储一个空字符,并且在可能的系统上,您也可以在int中存储一个空指针常量。 -
@doctorlove : 我的意思是空字符数组..你能建议任何解决方案吗
-
先试试看字符串的长度?