64,648
社区成员
发帖
与我相关
我的任务
分享
AnsiString szTemp;
AnsiString Another;
Another = szTemp.sprintf( "%d", szTemp ); //如果szTemp ="00",则Another = 12085764; 如果szTemp ="80",则Another = 12094360
//char RxData[100];
RxData[Cnt++] = szTemp.ToInt() ; //如果是"0A","0B","0C","A2"之类,只要是带有字符的,则转换失败哦!
atoi //很久没用,都快忘了这个函数
int atoi(const char *nptr);
//函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零
//否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
//执行结果
//string = 12345.67 integer = 12345
int Number;
AnsiString szTemp;
char Other[2] = { 0 };
char *pAnOther;
memcpy( Other, szTemp.c_str(), 2 );
Number = strtol( Other, &pAnOther, 16 );
//char RxData[100];
RxData[Cnt++] = Number ; //赋值
如果szTemp ="00",则Another = 12085764;
/* strtol example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";
char * pEnd;
long int li1, li2, li3, li4;
li1 = strtol (szNumbers,&pEnd,10);
li2 = strtol (pEnd,&pEnd,16);
li3 = strtol (pEnd,&pEnd,2);
li4 = strtol (pEnd,NULL,0);
printf ("The decimal equivalents are: %ld, %ld, %ld and %ld.\n", li1, li2, li3, li4);
return 0;
}