Hàm strtoul tách số từ string dựa vào cơ số

unsigned long strtoul( const char *nptr, char **endptr, int base );

Parameter:

nptr: chuỗi kí tự đầu vào cần convert

endptr: con trỏ trỏ tới kí tự không thể convert được.

base: cơ số (  2: binary, 8: octal, 10: decimal)

Remark:

Hàm strtoul( ) trả về giá trị được convert từ string.

  • Hàm trả về 0 nếu nptr = NULL
  • Trong trường hợp overflow xảy ra, hàm strtoul( ) trả về ULONG_MAX và errno được set bằng  

Ví dụ:

#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

void main( void )
{
    char *string, *stopstring;
    unsigned long ul;
    int base;

    string = "10110134932";
    printf( "string = %s\n", string );
    for( base = 2; base <= 8; base *= 2 )
    {
        /* Convert the string: */
        ul = strtoul( string, &stopstring, base );
        printf( " strtol = %ld (base %d)\n", ul, base );
        printf( " Stopped scan at: %s\n", stopstring );
    }
    getch();
}

Kết quả:

Hàm strtoul tách số từ string dựa vào cơ số
Hàm strtoul tách số từ string dựa vào cơ số

Be the first to comment

Leave a Reply