字符串转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’,所以当我们分割后,打印出分割的原字符串的时候,他的值会跟第一个子字符串的值相同。