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相关推荐
- c语言 atol,C语言的常用类型转换函数(atoi,atol,strtod,strtol,strtoul)
51Testing软件测试网W;cn2Jl^? atof(将字符串转换成浮点型数)51Testing软件测试网 I,g6C_$EP 相关函数51Testing软件测试网t9n3x]Z atoi,ato ...
- 《C Primer Plus 第五版》读书笔记
CH1-2:概述 链接器:链接库代码.启动代码(start-up code) CH3-5:数据.字符串.运算符 1 数据类型存储方式:整数类型.浮点数类型 2 浮点数存储:小数部分+指数部分 3 in ...
- 第八章 字符串和字符串函数
文章目录 表示字符串 字符串字面量 指针表示法创建字符串 数组表示法创建字符串 数组和指针创建字符串的区别 字符串数组 字符串输入输出 gets() 和 puts() fgets() 和 fputs( ...
- 相关函数: atof, atoi, atol, strtod, strtoul
strtod() //字符串转为 double strtof() //字符串转为 float strtols() //字 ...
- c语言常用数据类型转换整理
你要发送原始数据流 还是 格式化输出? 如果是格式化 按原子说的 ,用sprintf / printf; 如果发送原始内存数据流, 可按下面发送, 发送 #define BYTE0(pointer) ...
- c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc
C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...
- c语言字符串 数字转换函数大全
最近学数据结构老是做实验 常用到字符串和数字的转换 想找却发现网上的资料太散 所以搜集整理一下 方便以后再用 atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转 ...
- python与excel做数据可视化-Python的Excel操作及数据可视化
Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...
- atoi函数_C语言字符串、数字转换函数大全!
常用到字符串和数字的转换 想找却发现网上的资料太散 所以搜集整理一下,方便给大家以后再用 atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) st ...
最新文章
- 数据结构的简要介绍:图形如何工作
- 释放CPU,算力经济下DPU芯片的发展机遇
- 近期活动盘点:智进未来:AI在医疗健康领域的应用、挑战及发展趋势
- JavaWeb之Servlet学习-----实现文件动态下载功能 手写servlet 手动构建web程序
- Insightface项目爬坑指南+使用本地数据集训练流程(MXNET版)
- angularjs sill 创建项目_开源项目——博客项目MyBlogs.Core,基于.NET 5
- JDK1.8网盘链接
- 实施和开发哪个前景好_「深圳app开发」app模板开发和app定制开发哪个好呢?
- 计算机软件录音注意事项,录音笔使用注意事项
- C++实现数组类模板
- springboot读取properties(yml)的几种常用方式
- HDU 1864 最大报销额(01背包)
- Guava学习笔记:Immutable(不可变)集合
- linux初级:用useradd SB2,来建立新账户时,显示 bash:useradd:command not found的解决方法
- 【OpenCV入门教程之二】 一览众山小:OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
- 苹果屏蔽更新_苹果手机屏蔽IOS更新描述文件失效,越狱用户的紧急解决方案
- paypal如何退款
- mob做php短信接口,【PHP】短信接口(正则匹配)
- 推荐系统-基于用户的推荐在社交网络中的应用
- Intel Stratix10 Smart VID介绍以及使用
热门文章
- Android开发——新建库、删除库
- MapGIS应用操作题
- 黑苹果macOS机型对照表
- 微信防封链接服务器,微信防红防封真的存在吗?
- iText7 解套 (一) 原生方法输出带斜线表格
- R8-1 中序和后序创建二叉树
- OS X下的鼠标手感
- python 天勤 金叉 编程代码_GitHub - Oscar201106/tqsdk-python: 天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易...
- 毕业设计 单片机智能药箱系统 - STM32
- 【生信分析】一些关于生物信息的常见名字解释