字符串转int
int main()
{
char str[3] = "001";
int i = atoi(str);
printf("%d\n", i); //输出1
}
int转字符串
int main()
{
char *token;
int i = 1000;
sprintf(token,"%d",i);
printf("%s\n", token); //输出1000
}
分割字符串
#include <string.h>
#include <stdio.h>
int main () {
char str[80] = "This is - www.runoob.com - website";
const char s[2] = "-";
char *token;
/* 获取第一个子字符串 */
token = strtok(str, s);
/* 继续获取其他的子字符串 */
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, s);
}
return(0);
}
分割处理后原字符串会改变,原字符串的切分符原位置均被更改替换为 ‘\0’。
当字符串数组中间出现’\0’时,’\0’后面的字符不再打印,因为’\0’为字符串数组的结束标志,编译器读取到’\0’时会认为这个字符串数组已经结束,所以上面由于被替换成’\0’,所以当我们分割后,打印出分割的原字符串的时候,他的值会跟第一个子字符串的值相同。