




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言标准库函数atoi()等函数名: atoi功 能: 把字符串转换成整型数用 法: int atoi(const char *nptr);atoi接受的语法是whitespace sign digits,扫描参数str字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时才结束转换,并将结果返回。详细信息参见MSDN。程序例:#include int main(void)int n;char *str = 435;n = atoi(str);printf(string = %s integer = %dn, str, n);return 0;其他相关函数long strtol(const char *nptr, char *endptr, int base);strtol接受的语法是whitespace + | 0 x | X digits,将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如0x前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。详细信息参见MSDN。char *s= -1234.156ad;char* endptr=NULL;long temp= strtol(s, &endptr, 10);/如果不需要返回不符合条件的字符,则使用:/long temp= strtol(s, NULL, 10);couttempendl;cout不符合条件的字符为:*endptrendl;cout非数字部分字符串为:;while(*endptr!=0)cout*endptr+;函数名: atof功 能: 把字符串转换成浮点数用 法: double atof(const char *nptr);程序例:#include int main(void)float f;char *str = 12345.67;f = atof(str);printf(string = %s float = %fn, str, f);return 0;函数名: atol功 能: 把字符串转换成长整型数用 法: long atol(const char *nptr);程序例:#include int main(void)long l;char *str = 98765432;l = atol(lstr);printf(string = %s integer = %ldn, str, l);return(0);2、sprintf与Format构造字符串 sprintf和printf都是C的产物,用法几乎一样,只是前者打印到字符串,后者直接在命令行上输出。 int sprintf( char *buffer, const char *format , argument ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串(想想printf吧,一样的)。例:#include int main() double a(3112); char s110,s210; sprintf(s1,%dn,(int)a); sprintf(s2,$%.2lf,a); std:couts1s2std:endl;在C+里,也可用Format(CString) :/*VS2005中,项目/属性/配置属性里字符集设置为未配置,否则将编译出错*/*设置之后,若重新江字符集设置为使用Unicode字符集,将编译出错:Failed to save the updated manifest to the file主要是由于在生成了DEBUG之后又对开发环境或其他的地方作了更改,这种更改不能反映到debug之中,此时,做如下步骤:1,把更改的设置重新换回来;2,删除DEbug之中的内容,重新编译,连接;*/#include #define _AFXDLL#include int main() double a(32); CString s; s.Format($%.2lf,a); std:coutsstd:endl;3、字符串流stringstream提供的转换或格式化#include #include #include #include using namespace std;int main() int num(435);string s;ostringstream mystream;mystreamnumn;/* 创建一个名为mystream的ostringstream类型空对象,并将指定的内容插入该对象。此时mystream的内容是以下字符:435n */s=mystream.str();couts;#include #include #include #include using namespace std;int main() string s(435); int num; istringstream mystream(s); mystreamnum; /*num=435*/ coutnumendl;4、自己写函数Tool类:#pragma once#includeclass Toolpublic:Tool(void);Tool(void);inline void getnumber_from_string(char nums,in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 61558-2-23:2024 EXV-RLV EN Safety of transformers,reactors,power supply units and combinations thereof - Part 2-23: Particular requirements and tests for transformers
- 医药研发行业年度进展报告表
- 农村文化旅游合作项目协议书
- 销售概况及业绩统计表
- 制造业企业产品质量控制流程表
- 科技行业各领域研究报告表格化展示
- 银行英语考试试题及答案
- 银屑病考试试题及答案
- 医学转正考试试题及答案
- 六一公园活动方案
- 精编人教版小学数学1-6年级期末试题汇总(带答案)
- 肺源性呼吸困难的护理
- 物业管理公司项目招标书(5篇)
- 中医辨证论治高血压的诊断与治疗
- 连锁酒店详细项目规划设计方案
- thanks giving day感恩节幻灯片
- 塔吊安装安全教育培训
- 家庭健康管理员手册
- 模具维护保养记录表
- 网络集成实践报告
- 临床诊疗指南第三版电子版
评论
0/150
提交评论