#include <stdlib.h>  
double atof(const char *nptr); 
将字符串转换成双精度浮点数
int atoi(const char *nptr); 
将字符串转换成整形数
long atol(const char *nptr); 将字符串转换成长整型数
double strtod(const char *nptr, char **endptr);            
将字符串转换成双精度浮点数
long int strtol(const char *nptr, char **endptr, int base); 将字符串转换成长整型数
unsigned long int strtoul(const char *nptr, char **endptr, int base); 将字符串转换成无符号长整型数
char *gcvt(double number, int ndigit, char *buf); 将浮点数转换成字符串,取四舍五入
api介绍(学习方法)如何看懂一个api
 
double atof(const char *nptr);  将字符串转换成双精度浮点数
看函数,
首先看参数  const char *nptr,根据之前学习的基础,首先看到这是一个指针,而且有const char,代表这是一个字符串指针 .
所以要得到两点结论:
1. 传进来的参数是一个指针,字符串的指针
2. 传进来的参数是受const保护的,也就是说,在这个函数里面,它的内容将不会发生修改 .进函数前是什么样子,    函数结束后还是什么样子.
然后再看返回值 double
说明在调用这个函数的时候,我们需要声明一个变量得是double 类型的来接收这个函数反回的值.
atoi atof atol 这三个函数的参数是字符型指针常量,返回值 为 数值字符串 转化后的数值.
int atoi(const char *nptr); 
-------------------------------------------------------
int main(void) { const char *buf="365.3day";
int day;
day = atoi(buf);
printf("%d\n",day); // }
-------------------------------------------------------
double strtod(const char *nptr, char **endptr);
-------------------------------------------------------

            int main(int argc, char **argv) {
const char *buf="456.78秒";
double sec;
//因为要接收一个字符串指针,所以就定义一个字符串指针
char *p; //因为参数传递是拷贝的概念,值传递只是拷贝副本,并不影响本身,所以把参数当做修改入口的话,要取它的地址传递
//指针变量p 的地址是 &p; 跟普通变量 a 的地址 &a是一样的.
//而且p是指针,函数strtod 的形参刚好也是要求的char **p;和实参设计不谋而合 .
sec = strtod(buf,&p);
printf("sec is %0.2f\n",sec); //sec is 456.78
printf("left str is: %s\n",p); //left str is: 秒 } -------------------------------------------------------
所以这个函数的功能就是将字符串数字开头的部分通过返回值返回,然后将剩下的非数字部分的指针赋给指针*p,这样*p就指向非数字部分,可以输出.
long int strtol(const char *nptr, char **endptr, int base);             将字符串转换成长整型数:
unsigned long int strtoul(const char *nptr, char **endptr, int base);   将字符串转换成无符号长整型数:
//参数 int base是规定转换数字的进制数
int main(int argc, char **argv) { const char *buf="1234567sec"; long int sec; //用于接收返回值
char *tmp; //指向剩下字符串指针
int base = ; //10进制 sec=strtol(buf,&tmp,base); printf("sec is: %ld\n",sec); //
printf("left src is: %s\n",tmp); //left src is: sec return ;
} -------------------------------------------------------

C语言字符篇(一)字符串转换函数的更多相关文章

  1. 【Linux C中文函数手册】 字符串转换函数

    字符串转换函数 1)atof 将字符串转换成浮点型数 相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include <stdlib.h>定义函数 do ...

  2. linux中字符串转换函数 simple_strtoul【转】

    转自:http://blog.csdn.net/tommy_wxie/article/details/7480087 Linux内核中提供的一些字符串转换函数: lib/vsprintf.c [htm ...

  3. linux中字符串转换函数 simple_strtoul

    Linux内核中提供的一些字符串转换函数: lib/vsprintf.c 1. unsigned long long simple_strtoull(const char *cp, char **en ...

  4. 使用SQL如何把用逗号等字符隔开的字符串转换成列表(转)

    如何把用逗号等字符隔开的字符串转换成列表,下面依逗号分隔符为例: 比如有一个字符串,其值为:香港,张家港,北京,上海用SQL把这个字符串转换成列表的方法是: 1.方法一 WITH A AS (SELE ...

  5. libs/tools.js stringToDate dateToString 日期字符串转换函数

    libs/tools.js stringToDate dateToString 日期字符串转换函数 import { stringToDate } from '@/libs/tools.js'   e ...

  6. C语言字符篇(二)字符串处理函数

    字符串处理函数 1. 拷贝 strcpy 2. 追加 strcat   #include <string.h>   char *strcpy(char *dest, const char ...

  7. 归纳整理Linux下C语言常用的库函数----字符串转换、字符测试、及内存控制

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  8. C语言中常用的字符串处理函数总结

    C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存 ...

  9. c语言字符数组与字符串的使用详解

    转自:http://www.jb51.net/article/37456.htm 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ ...

随机推荐

  1. carousel 插件隐藏列表中几项导致左右切换出错

    1. 一般的应用场景: 用于左右快速切换显示的列表内容,比如对员工的切换. 对于这种情况必不可少需要按照部门进行搜索,目前我的做法是首次加载所有该用户可以查看的员工列表,选择部门后又选择的隐藏掉其他不 ...

  2. Spring课程 Spring入门篇 2-2 Spring注入方式

    课程链接: 本节主要讲了以下两块内容: 1 xml两种注入方式 2 注入方式代码实现 3 特别注意 1 xml两种注入方式 构造注入和set注入 2 注入方式代码实现 2.1 set注入方式的实现 实 ...

  3. 5.jQuery&Ajax

    1.jQuery 什么是 jQuery ? jQuery是一个JavaScript函数库.jQuery是一个轻量级的"写的少,做的多"的JavaScript库.包含以下功能: HT ...

  4. [C#]为什么Interface里的成员不能使用static修饰?

    首先引用MSDN里的原文 Interface members are automatically public, and they can't include any access modifiers ...

  5. window下隐藏apache版本和PHP脚本等敏感信息

    隐藏Apache信息 1.1 主配置中启用httpd-default.conf 文件: conf/httpd.Conf 找到httpd-default.conf,删除前面的注释“#”,改成如下 Inc ...

  6. 类型信息(RTTI和反射)——RTTI

    运行时类型信息可以让你在程序运行时发现和使用类型信息. 在Java中运行时识别对象和类的信息有两种方式:传统的RTTI,以及反射.下面就先来说下RTTI. 1.RTTI: RTTI:在运行时,识别一个 ...

  7. 详解如何利用FarPoint Spread表格控件来构造Winform的Excel表格界面输入

    我们先来简单了解一下WinForm和FarPoint,WinForm是·Net开发平台中对Windows Form的一种称谓.而FarPoint是一款模拟EXCEL的控件.它可以根据用户的要求实现很大 ...

  8. webpack踩坑

    1.当你用webpack2实现css文件单独成一个文件的时候: 可能遇到这种错误Error: Breaking change: extract now only takes a single argu ...

  9. C4C销售订单中业务伙伴的自动决定功能Partner determination procedure

    例子:我新建一个Sales Order,account 字段选择ID为1001的Account:Porter LLC 创建成功后,观察这个Sales Order的Involved Party里,Bil ...

  10. Socket的基本使用步骤

    Socket的基本使用步骤 一.使用Socket,首先需要导入这几个系统头文件 #import <sys/socket.h> #import <netinet/in.h> #i ...