| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4005 人关注过本帖
标题:C++中string 定义的字符串是啥意思?和CString定义的不一样么?
只看楼主 加入收藏
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
C++中string 定义的字符串是啥意思?和CString定义的不一样么?
我写一个C++的文件,字符串定义成string
但是发现atof不能用的,string 是类么?
有点糊涂了,导致做了一般的东西搁那里都没取碰。。。
帮解释下string和MFC里的CString...
搜索更多相关主题的帖子: string CString 定义 字符 
2010-08-19 09:51
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:14 
不是很懂得楼主说什么,string是一个类,在头文件string中有声明。C里有一个string.h的头文件对应C++里的cstring这个头文件。
string s("sfsfs");
s.c_str();//转化成C风格的字符串。atof(s.c_str());
你试下的

迭代的是人,递归的是神。
2010-08-19 10:01
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:2 
楼上正姐。
2010-08-19 10:06
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
atof(s.c_str());
那个解决了了问题哈,不过我想知道为啥在MFC的程序段里我写atof(str);直接就可以了,当然这个str的定义是CString
然后定义是string 就要写成.c_str()哈

顺便再问一个问题。。。
将double型转化为string咋转化,Format不能用哈这里。。。
然后我查了下fcvt好想可以实现这个功能,问题是。。我想知道这个函数的参数是啥意思。。。为啥返回字符串还要这些参数啊
函数名: fcvt
  能: 把一个浮点数转换为字符串
  法: char *fcvt(double value, int ndigit, int *decpt, int *sign);
ndigit好像是保留位数?
2010-08-19 10:36
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
c里面不是有一个sprint()?第一个参数好像缓冲区,用点笨的低效的方法,也应该能把浮点数转换为字符串

迭代的是人,递归的是神。
2010-08-19 11:31
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
回复 5楼 lintaoyn
我尝试了下,加了#include<stdio.h>后
咋还是报错说sprint没有定义哈。。。
2010-08-19 11:45
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
sprintf();C语言标准库里的,自己查下的。

迭代的是人,递归的是神。
2010-08-19 11:54
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
回复 7楼 lintaoyn
有了,可以用,不过比较复杂,第一个地址参数我是写成&str[0],str是string,直接写str报错的。
程序有点问题,偶尔出错,我下午再查查看。
2010-08-19 12:23
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:4 
strtod 可以把一个 char * 转成 double。它要两个参数,第二个参数是个 char * 的引用,是事后用来检查转换是否预期完成的。不需要用的时候传个 NULL 过去就行了。
2010-08-19 23:40
快速回复:C++中string 定义的字符串是啥意思?和CString定义的不一样么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021111 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved