字符型转换为整型???

h2023197 2004-11-27 10:58:24
我定义了一个CString型的变量str,str="1",我想使它能够自身累加,需要变为整型吧,但我又不清楚具体的函数,请高手帮帮我,小弟还是个新手。谢谢!!!!
...全文
142 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
h2023197 2004-11-28
  • 打赏
  • 举报
回复
谢谢各位仁兄,小弟的问题解决了!!!
alphakiller 2004-11-27
  • 打赏
  • 举报
回复
char a=str.getat(0);//先获得字符1
int b=a-48;//0的ASCII码是48
b++;
handwolf 2004-11-27
  • 打赏
  • 举报
回复
float CLineMenu::StrToFloat(CString str)
/////////////////////////////////////////StrToFloat
//Author: handwolf
//Date: 2004.3.17
//str: string that will be converted to float value
// return value:
// |____ if success, float value of the str
// |____ if unsuccess, 0
/////////////////////////////////////////
{
char chGet;
float fResult=0;
int nPos;
float fMulty1=10,fMulty2=1,flag=1;
for(nPos=0;nPos<str.GetLength();nPos++)
{
if((chGet=str.GetAt(nPos))=='.')
{ //if there are more than one '.' in the str
//fMulty2 is a float data
if(fMulty2<0.11&&fMulty2>0.09)
{
fResult=0;
break;
}
fMulty1=1;
fMulty2=0.1;
flag=0.1;
continue;
}
else if(chGet>='0'&&chGet<='9')
{
fResult=fResult*fMulty1+(chGet-'0')*fMulty2;
fMulty2=fMulty2*flag;
}
else
{
fResult=0;
break;
}
}
return fResult;
}

void Add(CString& str,int flNum)
{
int tmp = StrToFloat(str);
str.Format(%d",tmp+num);
}

测试
CString str="1";
Add(str,1);
之后str 为 "2";
Mr-Chen 2004-11-27
  • 打赏
  • 举报
回复
sscanf(str, "%d", &nVal);
kugou123 2004-11-27
  • 打赏
  • 举报
回复
atoi
ervinsas 2004-11-27
  • 打赏
  • 举报
回复
long i;
int end = 500;//自加到多少
char *stopstring;
for(int j = 0;j < end;j++)
{
i = strtol(str,&stopstring,0);
i++;
str.Format("%d",i);
TRACE("%s\n",str);
}
这就可以啦!试试!

fql_life 2004-11-27
  • 打赏
  • 举报
回复
上面说得 非常好 就是这样做。
rainfall19831109 2004-11-27
  • 打赏
  • 举报
回复
同意楼上,使用字符变量作为函数atoi的参数,返回值就是一个int型的了~~
washing2000 2004-11-27
  • 打赏
  • 举报
回复
字符串变整型:atoi(char *);
比如: CString ss="10";
int i=atoi(ss);
i+=1;
ss.Format("%d",i);

ss就变成11了。
qrlvls 2004-11-27
  • 打赏
  • 举报
回复
如果不是 Unicode 版本

sscanf((LPCSTR)(LPCTSTR)str, "%d", &nVal);
alphakiller 2004-11-27
  • 打赏
  • 举报
回复
忘了定义cValue数组了
char cValue[100];
alphakiller 2004-11-27
  • 打赏
  • 举报
回复
那就这样写...
CString str="123";
sprintf(cValue,"%s",str);
int i=0;
sscanf(cValue,"%d",&i);
i++;
kilnut 2004-11-27
  • 打赏
  • 举报
回复
你这个数字是始终一位吗?
那样就简单,否则上面的肯定不行

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧