ULONGLONG类型的使用,适合存储文件的大小(4G以上的)

    技术2026-05-18  5

    mfc里面的CFile文件获取到文件的大小,使用的是:file.GetLength(),返回的类型为ULONGLONG,这个对于大于4G的文件来说,才是足够的.

    我原以为用一个long型就可以保存下这个大小,结果错的离谱.

     

    long型在win32平台下,就是32位的,跟int其实就是一回事.唉,害苦我了,不知道为什么一直以为long是64的.

     

    所以vc里面写64位的int都是这样定义的  _int64 

     

    但是一般使用的时候,类型清楚就直接使用ULONGLONG这样的自定义就很好用了.

     

    要printf出这样的类型,是不能用%d来表示的,论坛上竟然还有人误解大家.

     

    要这样写:

    ULONGLONG filetotalsize=5912341234;

    printf("size=%I64u",filetotalsize);

     

    否则出来的结果只会是%d代表的最大值.

     

    将字符串转换为ULONGLONG类型,是使用

    char strbuff[32]="4812341234";

    ULONGLONG tt=_atoi64(strbuff);

    这样的代码.

     

    有的地方说用atoll,但是没有这个函数啊,说要什么gg标准,我是不清楚了.

    最新回复(0)