woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

(unsigned int)atoi(szBuf)转成无符号整形

1、可以在文件里面保存为有符号整形,但是读入到内存变成无符号的。

2、可以在文件里面保存为无符号整形,但是读入到内存变成有符号的

// testSignelToUnsign.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int main(int argc, char* argv[])
{
    char szBuf[] = "-1";
    int s_int = 0;
    unsigned int  us_int = 0;
    s_int = atoi(szBuf);
    printf("s_int:%d\n", s_int);//---- -1
    us_int = (unsigned int)atoi(szBuf);
    printf("us_int:%u\n", us_int);//---- 4294967295
    memcpy(&us_int, &s_int, sizeof(unsigned int));
    printf("us_int:%u\n", us_int);//---- 4294967295
    return 0;
}

image

 

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int main(int argc, char* argv[])
{
    char szBuf[] = "4294967295";
    int s_int = 0;
    unsigned int  us_int = 0;
    s_int = atoi(szBuf);
    printf("s_int:%d\n", s_int);//---- -1
    us_int = (unsigned int)atoi(szBuf);
    printf("us_int:%u\n", us_int);//---- 4294967295
    memcpy(&us_int, &s_int, sizeof(unsigned int));
    printf("us_int:%u\n", us_int);//---- 4294967295
    return 0;
}

 

image

posted on 2009-06-15 15:36 肥仔 阅读(3860) 评论(0)  编辑 收藏 引用 所属分类: C++ 基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理