Technorati 标签:  strtol, strtoul, strtod

函数原型:

long int strtol ( const char * str, char ** endptr, int base );
unsigned long int strtoul ( const char * str, char ** endptr, int base );
double strtod ( const char * str, char ** endptr );
 
这几个函数从str指向的字符开始转化,忽略掉前面的空格,遇到错误无法转换的字符则返回,如果endptr不为空,则将该字符存储在endptr里。
对前两个函数,base则表示其进制。
想到之前的一篇笔记:http://www.cppblog.com/izualzhy/archive/2012/07/09/182456.html
需要将”0xE4”转到E4(1个字节)
可以简单的这么写了:
    char str[] = "E4";int a;a = strtol(str,NULL,16);
看个详细的例子:
/** =====================================================================================*       Filename:  strtodata.c*    Description:  string to long/unsigned long/double**        Version:  1.0*        Created:  08/16/2012 07:30:17 PM**         Author:  zhy (), izualzhy@163.com* =====================================================================================*/#include <stdio.h>
#include <stdlib.h>int main()
{char numbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";char *pEnd;long int li1,li2,li3,li4;li1 = strtol(numbers, &pEnd, 10);li2 = strtol(pEnd, &pEnd, 16);li3 = strtol(pEnd, &pEnd, 2);li4 = strtol(pEnd, NULL, 0);printf("The decimal equivalents are: %ld, %ld, %ld, %ld.\n",li1,li2,li3,li4);char digits[] = "365.24   29.53 -1.23456";    double d1,d2,d3;d1 = strtod(digits, &pEnd);printf("%c\n", *pEnd);d2 = strtod(pEnd, &pEnd);d3 = strtod(pEnd, NULL);printf("The moon completes %f/%f orbits per Earth yes.%f\n",d1,d2,d3);return 0;
}

运行结果:

The decimal equivalents are: 2001, 6340800, -3624224, 7340031.
 
The moon completes 365.240000/29.530000 orbits per Earth yes.-1.234560

====================================================================================================================================

/*
 * =====================================================================================
 *
 *       Filename:  strtok.c
 *
 *    Description:  j
 *
 *        Version:  1.0
 *        Created:  2013年03月01日 18时34分13秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  YOUR NAME (), 
 *   Organization:  
 *
 * =====================================================================================
 */
#include <stdio.h>
#include <string.h>

void split_str_to_intArray(char *pSeparator, char *pStr, int *pData)
{
    char *pbuf;
    int cnt = 0;

memset( pData, 0, sizeof( pData ) );

pbuf = strtok( pStr, pSeparator );
    while( NULL != pbuf )
    {
       pData[ cnt ] = strtol( pbuf, NULL, 10); 
       pbuf = strtok( NULL, pSeparator );
       cnt ++;
    }

return;
}

int main(int argc, const char *argv[])
{
    char a[] = "1,,,4..24..1.4.6.2435,2,34,234.3 414*";
    int b[10];
    int i;

memset( b, 0, sizeof( b ) );
    split_str_to_intArray( ",. *", a, b );

for( i = 0; i < 10; i++)
        printf("%d\n", b[i]);

return 0;
}

strtol,strtoul,strtod相关推荐

  1. c语言 atol,C语言的常用类型转换函数(atoi,atol,strtod,strtol,strtoul)

    51Testing软件测试网W;cn2Jl^? atof(将字符串转换成浮点型数)51Testing软件测试网 I,g6C_$EP 相关函数51Testing软件测试网t9n3x]Z atoi,ato ...

  2. 《C Primer Plus 第五版》读书笔记

    CH1-2:概述 链接器:链接库代码.启动代码(start-up code) CH3-5:数据.字符串.运算符 1 数据类型存储方式:整数类型.浮点数类型 2 浮点数存储:小数部分+指数部分 3 in ...

  3. 第八章 字符串和字符串函数

    文章目录 表示字符串 字符串字面量 指针表示法创建字符串 数组表示法创建字符串 数组和指针创建字符串的区别 字符串数组 字符串输入输出 gets() 和 puts() fgets() 和 fputs( ...

  4. 相关函数: atof, atoi, atol, strtod, strtoul

    strtod()           //字符串转为   double     strtof()           //字符串转为   float     strtols()         //字 ...

  5. c语言常用数据类型转换整理

    你要发送原始数据流 还是 格式化输出? 如果是格式化 按原子说的 ,用sprintf / printf; 如果发送原始内存数据流, 可按下面发送, 发送 #define BYTE0(pointer) ...

  6. c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc

    C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...

  7. c语言字符串 数字转换函数大全

    最近学数据结构老是做实验 常用到字符串和数字的转换 想找却发现网上的资料太散 所以搜集整理一下 方便以后再用 atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转 ...

  8. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  9. atoi函数_C语言字符串、数字转换函数大全!

    常用到字符串和数字的转换 想找却发现网上的资料太散 所以搜集整理一下,方便给大家以后再用 atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) st ...

最新文章

  1. 数据结构的简要介绍:图形如何工作
  2. 释放CPU,算力经济下DPU芯片的发展机遇
  3. 近期活动盘点:智进未来:AI在医疗健康领域的应用、挑战及发展趋势
  4. JavaWeb之Servlet学习-----实现文件动态下载功能 手写servlet 手动构建web程序
  5. Insightface项目爬坑指南+使用本地数据集训练流程(MXNET版)
  6. angularjs sill 创建项目_开源项目——博客项目MyBlogs.Core,基于.NET 5
  7. JDK1.8网盘链接
  8. 实施和开发哪个前景好_「深圳app开发」app模板开发和app定制开发哪个好呢?
  9. 计算机软件录音注意事项,录音笔使用注意事项
  10. C++实现数组类模板
  11. springboot读取properties(yml)的几种常用方式
  12. HDU 1864 最大报销额(01背包)
  13. Guava学习笔记:Immutable(不可变)集合
  14. linux初级:用useradd SB2,来建立新账户时,显示 bash:useradd:command not found的解决方法
  15. 【OpenCV入门教程之二】 一览众山小:OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
  16. 苹果屏蔽更新_苹果手机屏蔽IOS更新描述文件失效,越狱用户的紧急解决方案
  17. paypal如何退款
  18. mob做php短信接口,【PHP】短信接口(正则匹配)
  19. 推荐系统-基于用户的推荐在社交网络中的应用
  20. Intel Stratix10 Smart VID介绍以及使用

热门文章

  1. Android开发——新建库、删除库
  2. MapGIS应用操作题
  3. 黑苹果macOS机型对照表
  4. 微信防封链接服务器,微信防红防封真的存在吗?
  5. iText7 解套 (一) 原生方法输出带斜线表格
  6. R8-1 中序和后序创建二叉树
  7. OS X下的鼠标手感
  8. python 天勤 金叉 编程代码_GitHub - Oscar201106/tqsdk-python: 天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易...
  9. 毕业设计 单片机智能药箱系统 - STM32
  10. 【生信分析】一些关于生物信息的常见名字解释