jpa*_*cek 47
如果要将整数转换为字符串,请尝试使用该函数snprintf().
如果要将字符串转换为整数,请尝试使用函数sscanf()或atoi()或atol().
Col*_*lin 15
要将int转换为字符串:
int x = -5;
char buffer[50];
sprintf( buffer, "%d", x );
Run Code Online (Sandbox Code Playgroud)
你也可以做双打:
double d = 3.1415;
sprintf( buffer, "%f", d );
Run Code Online (Sandbox Code Playgroud)
要将字符串转换为int:
int x = atoi("-43");
Run Code Online (Sandbox Code Playgroud)
有关这些功能的文档,请参见http://www.acm.uiuc.edu/webmonkeys/book/c_guide/.
小智 10
这听起来像你有一个字符串,并希望将它转换为整数,从提到的角度来看parseInt,尽管问题不是很清楚......
为此,请使用strtol.这个函数稍微复杂一点atoi,但作为回报,它提供了一个更清晰的错误条件指示,因为它可以填充一个指针(调用者提供)与第一个字符的地址混淆.然后,调用者可以检查有问题的字符并确定该字符串是否有效.atoi相比之下,只要它丢失就返回0,这并不总是有用 - 尽管如果你对这种行为感到满意,那么你也可以使用它.
以下示例使用strtol.检查错误非常简单:如果第一个无法识别的字符不是'\x0'字符串的结尾,那么该字符串被认为不包含有效的int.
int ParseInt(const char *s,int *i)
{
char *ep;
long l;
l=strtol(s,&ep,0);
if(*ep!=0)
return 0;
*i=(int)l;
return 1;
}
Run Code Online (Sandbox Code Playgroud)
如果字符串包含有效整数,则此函数用整数填充*i并返回1.否则,它返回0.
| 归档时间: |
|
| 查看次数: |
74668 次 |
| 最近记录: |