strtoul

[機能]

  文字列を unsigned long 型整数値へ変換します

[形式]
#include <stdlib.h>

unsigned long strtoul(const char *str, char **stop, ind base)
	str : 変換される文字列
	stop : 変換の終了位置を示すポインタを受け取るメモリへのポインタ
	base : 2 ~ 36 : 基数
	       0x, 0X : 16 進数
	       0*, 0* : 8 進数		
[使用例]

  1. 文字列を倍精度浮動小数点数,long 型整数,及び,unsigned long 型整数に変換します
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	char *s,*stop;
    	double x;
    	long l;
    	unsigned long u;
    
    	s = "  -2309.12e-15double";          /* doubleへの変換 */
    	x = strtod(s, &stop);
    	printf("文字列=%s  数値=%e\n", s, x);
    	printf("     変換停止位置=%s\n", stop);
    
    	s = "  1101long";                    /* long intへの変換 */
    	l = strtol(s, &stop, 2);
    	printf("文字列=%s  数値=%ld\n", s, l);
    	printf("     変換停止位置=%s\n", stop);
    
    	s = "  1234567890unsigned long";     /* unsigned longへの変換 */
    	u = strtoul(s, &stop, 10);
    	printf("文字列=%s  数値=%ld\n", s, u);
    	printf("     変換停止位置=%s\n", stop);
    
    	return 0;
    }
    			
    (出力)
    文字列=  -2309.12e-15double  数値=-2.309120e-12
         変換停止位置=double
    文字列=  1101long  数値=13
         変換停止位置=long
    文字列=  1234567890unsigned long  数値=1234567890
         変換停止位置=unsigned long			
[参照]

atoi, atol, strtod, strtol, atof, ecvt, fcvt, gcvt

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引