1. 字符串 -- 数字 atoxxx: atoi(), atol(), atoll(), atof() strtoxxx: strtol(), strtoul(), strtod() strtoxxx 是 atoxxx 的升级版: (1) strtoxxx 支持转化成多种进制 (2) atoxxx 对错误情况的处理很不完善, strtoxxx 对
          1. 字符串 --> 数字
 ato<xxx>: atoi(), atol(), atoll(), atof() 
 strto<xxx>: strtol(), strtoul(), strtod() 
 strto<xxx> 是 ato<xxx> 的升级版: 
 (1) strto<xxx> 支持转化成多种进制 
 (2) ato<xxx> 对错误情况的处理很不完善, strto<xxx> 对完善了错误处理 
#include <stdlib.h>
#include <limits.h>
#include <stdio.h>
#include <errno.h>
int
main(int argc, char *argv[])
{
    int base;
    char *endptr, *str;
    long val;
    if (argc < 2)
    {
        fprintf(stderr, "Usage: %s str [base]\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    str = argv[1];
    base = (argc > 2) ? atoi(argv[2]) : 10;
    errno = 0;  /* To distinguish success/failure after call */
    val = strtol(str, &endptr, base);
    /* Check for various possible errors */
    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))
           || (errno != 0 && val == 0))
    {
        perror("strtol");
        exit(EXIT_FAILURE);
    }
    if (endptr == str)
    {
        fprintf(stderr, "No digits were found\n");
        exit(EXIT_FAILURE);
    }
    /* If we got here, strtol() successfully parsed a number */
    printf("strtol() returned %ld\n", val);
    if (*endptr != '\0')    /* Not necessarily an error... */
        printf("Further characters after number: %s\n", endptr);
    exit(EXIT_SUCCESS);
} 
http://man7.org/linux/man-pages/man3/strtoll.3.html
2. 数字 --> 字符串
 (1) sprintf() 
 (2) ostringstream or stringstream:  
 
