2018-12-07 21:35:48 qq_42579119 阅读数 0

1.main函数带参数
基本格式:main(int argc,char * argv[])
argc参数保存命令行参数的个数,是整形变量
具体用法可有如下代码看下:
a1.c:
#include <stdio.h>
int main(int argc,char *argv[]){
int i;
printf(“argc = %d\n”, argc);
for(i = 0;i < argc;i++){
printf(“argv[%d]= %s\n”,i, argv[i] );
}
return 0;
}
2.在linux命令行下编译:gcc a1.c
3.执行文件
./a.out qwe asd jkl asd
结果就是:
argc=5
argv[0]=./a.out
argv[1]=qwe
argv[2]=asd
argv[3]=jkl
argv[4]=asd
2.atoi函数介绍
用此函数需加上头文件:#include <stdlib.h>
atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char * str);
【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(’\0’)才结束转换,并将结果返回。
【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。
例如:将字符串a 与字符串b 转换成数字后相加。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer[256];
printf ("Enter a number: ");
fgets (buffer, 256, stdin);
i = atoi (buffer);
printf (“The value entered is %d.”, i);
system(“pause”);
return 0;
}
执行结果:
Enter a number: 233cyuyan
The value entered is 233.

2015-06-01 17:16:08 dagefeijiqumeiguo 阅读数 1428

把字符串转换成整型数

#include    <stdlib.h>

int atoi(const char *nptr);

参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。

否则,返回零。

2015-12-07 16:12:25 hanghang121 阅读数 329
1.itoa 
在linux下没有itoa这个函数 
      原型:char  *itoa(int   value,char   *string,int   radix)    
      用法:#include     
      功能:将整数value转换成字符串存入string, radix为转换时所用基数(保存到字符串中的数据的进制基数 2 8 10 16)
       
      说明:返回指向转换后的字符串的指针        
      举例: 
#include    
#include 
  int main(void)    
  {    
        int  number   =   12345;    
        char string[25];     
        itoa(number, string,10);    
        printf("integer   =   %d   string   =   %s\n",   number,   string);    
        return   0;    
  }
2.atoi
字符串转换到整型数:
int atoi(const char *nptr)
跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
范例
/* 将字符串a 与字符串b转换成数字后相加*/
#include
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
执行
c=356
在linux下没有itoa这个函数
linux下的字符转换函数只有:
atof 字符串转换到浮点型数
atoi 字符串转换到整型数:
int atoi(const char *nptr);跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
atol 字符串转换到长整型数
ecvt 浮点型数转换到字符串,取四舍五入
fcvt 浮点型数转换到字符串,取四舍五入
gcvt 浮点型数转换到字符串,取四舍五入
strtod 字符串转换到浮点型数
strtol 字符串转换到长整型数
strtoul 字符串转换到无符号长整型数
toascii 将整形数转换合法的ASCII字符串
2016-03-11 10:16:41 boshuzhang 阅读数 4695
Linux C编程 itoa()函数 atoi()函数[日期:2014-05-19] 来源:Linux社区 作者:wangkai [字体:大 中 小] 今天在Ubuntu下编程,发现Linux内核中只有atoi()函数,被包含在stdlib.h头文件中,而没有itoa()函数,不过,itoa()函数的功能可以用sprintf()函数代替。如int nValue = 80;char* szBuffer = (char *)malloc(sizeof(int) + 1); //分配动态内存memset(szBuffer, 0, sizeof(int) + 1); //内存块初始化sprintf(szBuffer, "%d", nValue); //整数转化为字符串free(szBuffer); //释放动态分配的内存sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华显然就在第二个参数: 格式化字符串上。sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以 spritnf 在大多数场合可以替代 itoa。C语言梳理一下,分布在以下10个章节中:Linux-C成长之路(一):Linux下C编程概要 http://www.linuxidc.com/Linux/2014-05/101242.htmLinux-C成长之路(二):基本数据类型 http://www.linuxidc.com/Linux/2014-05/101242p2.htmLinux-C成长之路(三):基本IO函数操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htmLinux-C成长之路(四):运算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htmLinux-C成长之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htmLinux-C成长之路(六):函数要义 http://www.linuxidc.com/Linux/2014-05/101242p6.htmLinux-C成长之路(七):数组与指针 http://www.linuxidc.com/Linux/2014-05/101242p7.htmLinux-C成长之路(八):存储类,动态内存 http://www.linuxidc.com/Linux/2014-05/101242p8.htmLinux-C成长之路(九):复合数据类型 http://www.linuxidc.com/Linux/2014-05/101242p9.htmLinux-C成长之路(十):其他高级议题C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 http://www.linuxidc.com/Linux/2014-05/101227.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101909.htm
2018-05-15 16:10:04 malin0523 阅读数 3501

atoi()函数是把字符串转化为数字。

实例:

#include<stdlib.h>
#include<stdio.h>

int main()
{
char str[]="123";
int a;
a=atoi(str); /*将字符串转化为int型的数字*/
printf("%d\n",a);

}
输出为123

linux函数之atoi

阅读数 0