字符串转化为整数:可以直接使用sscanf
bool ConvertToLong(char * pString,long * Result)
{
long t=0;
while(*pString)
{
if(*pString<'0' || *pString>'9')return false;
t =t*10+ *(pString++) - '0';
}
*Result = t;
return true;
}
函数名:sprintf
功 能:送格式化输出到字符串中
用法: int sprintf(char*string, char *farmat [,argument,...]);
例子:
main()
{
chara[4];
intm=567;
sprintf(a,"%d",m);
printf("%s",a);
getch();
}
函数sscanf:相当与sprintf的反函数,它是将数组中的字符串按固定格式读取到变量中,返回值是实际赋值的变量数
#include<stdio.h>
#include<string.h>
main()
{
chara[4]={"567"};
intm;
sscanf(a,"%d",&m);
printf("%d",m);
getch();
}
表头文件 #include<stdio.h>
定义函数 intsscanf (const char *str,const char *format,........);
函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例 #include<stdio.h>
main()
{
inti;
unsigned int j;
char input[ ]=”10 0x1b aaaaaaaabbbbbbbb”;
char s[5];
sscanf(input,”%d %x %5[a-z] %*s%f”,&i,&j,s,s);
printf(“%d %d %s\n”,i,j,s);
}
执行 1027 aaaaa