字符串转换为整数,以及整数转换为字符串的函数

来源:互联网 发布:优学派软件下载 编辑:程序博客网 时间:2024/06/05 05:29

题目:设计字符串转换为整数,以及整数转换为字符串的函数功能块。

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windef.h>int str2int(const char *str, int *result){    int bPositive = TRUE;    int j = 0;    int data = 0;    if(str == NULL)        return -1;    if(str[0] == '-'){        bPositive = FALSE;          j ++;    }    while(str[j] != '\0'){        data = (data << 3) + (data << 1);        data += str[j ++] - '0';    }    if(!bPositive){        data = -data;    }    *result = data;    printf("data: %d\n", data);    return 0;}int int2str(int n, char *str){    int j = 0;    if(str == NULL)        return -1;    if(n < 0){        n = -n;        str[j ++] = '-';    }    while(n > 0){        str[j ++] = n % 10 + '0';        n /= 10;    }    str[j] = '\0';  /* 一定不要遗漏这个字符串结束符 */    if('-' == str[0]){        strrev(str + 1);    }    else        strrev(str);    return 0;}int main(int argc, char *argv[]) {    int result = 0;    str2int("-1234", &result);    printf("result: %d\n", result);    char str[20];    int2str(-123456, str);    printf("str: %s\n", str);    return 0;}