字符串转换为数字

C Primer Plus 第11章 11.9 把字符串转换为数字

假装没事ソ 提交于 2019-11-29 03:45:22
数字即能以字符串形式也能 以数字形式存储。以字符串形式存储数字就是存储数字字符。例如,数字213即能以数字'2'、‘1’、‘3’、‘\0’的形式存储在一个字符串数组中。以数字形式存储213意味着把字存储为 一个int数值。对于数字运算C要求数字形式。但是在屏幕上显示数字却要求字符串形式,这是因为屏幕显示的字符。printf()和sprintf()函数通过%d或其他说明符把数字形式转换为字符串形式或者相反。C还有一些函数专门用于把字符串形式转换为数字形式。 假如,您想编写一个使用数字命令程序。很不巧的是,命令行参数是以字符串形式被读取的。因此,要想使用数字值,就必须先把字符串转换为数字。如果数字是个整数,那就可以使用atoi()(代表alphanumeric to integer)。atoi()函数以字符串为参数,返回相应的整数值。 程序清单11.28 hello.c程序 /*hello.c 把命令行参数转换成数字*/ #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { int i,times; if(argc<2 || (times = atoi(argv[1]))<1) printf("Usage: %s positive-number\n",argv[0]); else for(i=0