c语言 字符串 转换 宽字符串,C语言字符篇(一)字符串转换函数

#include

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 ;

}

-------------------------------------------------------

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

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

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

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

linux中字符串转换函数 simple_strtoul

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

[POJ] #1005# I Think I Need a Houseboat : 浮点数运算

一. 题目 I Think I Need a Houseboat Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 97512 ...

JQuery点击收起,点击展开以及部分非空小验证

解决方案:

Android发送请求到不同的Servlet,但都是一个Servlet处理

错误原因,在Servlet文件中 @WebServlet("/ServletForGETMethod") 与实际的ServletForQUERYMethod 文件名不符. @Web ...

在OpenWrt上编写自己的硬件操作程序

上一篇文章中有写到如何使用OPENWRT的SDK,这里继续,写怎么在上面开发自己的应用程序. 我欲在OpenWrt上编写一个软件,它能够去读取某个AD芯片的多通道采样值. 在看这篇文章之前请看这官方的 ...

python python中那些双下划线开头的那些函数都是干啥用用的

1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

c++入门之类继承初步

继承是面向对象的一种很重要的特性,先来复习基类的基本知识: 先上一段代码: # ifndef TABLE00_H # define TABLE00_H # include "string&q ...

关于servlet连接数据库会出现空指针异常情况

一.servlet在连接数据库时,如果没有事先配置,当用Tomcat运行时会出现NullPointer的情况,是因为Tomcat在运行你的应用程序时没有连接mysql的jar包, 正确做法是将你的my ...

python 部分函数

abs(number) ,返回数字的绝对值cmath.sqrt(number) ,返回平方根,也可以应用于负数float(object) ,把字符串和数字转换为浮点数help() ,提供交互式帮助in ...

python 读取grib \grib2

一.环境准备(1).python3环境 (2).wgirb工具(用于读取grib1文件),下载地址:  ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib (3).wgi ...

C语言实现BMP图片生成

## #include #include #include typedef unsigned cha ...

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值