字符串拆分问题在线等.!!!!

zbjsd 2009-05-07 03:05:08
字符串1234567890,
现在要按赋给三个变量var1 ,var2 ,var3 ,
其中
var1=“123” ,var2=“4567” ,var3=“890” ,
然后重新组合成为新字符串:
var=var3 +var1 +var2 =“8901234567”
然后对var中每个字符加2处理取余数,
处理结果应该为
varnew=“0123456789”
本人对c++不是太懂,请帮我看看该如何写 ?
...全文
284 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
o0MyBelieve0o 2009-05-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/xqls_xqls/archive/2009/04/11/4064870.aspx
zbjsd 2009-05-08
  • 打赏
  • 举报
回复
楼上的高手们帮帮忙啊?
zbjsd 2009-05-08
  • 打赏
  • 举报
回复
我把楼上兄弟们的代码都弄上去了也不行,总报错,
我的vc6编译其他包含string工程的项目却没见报错啊,
我试了很长时间都不行,可能是哪里设置错了,应该不是编译器的问题。
本人对C++不是太懂,总调试不好,让各位见笑了,
劳烦哪位兄弟能否把做好的工程打包发给我 626817681@qq.com ,谢谢了!
光宇广贞 2009-05-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zbjsd 的回复:]
我的开发环境是vc++6.0.
把上面高手的程序放入开发环境中编译没通过,是不是我哪里设置不对啊?

[/Quote]

这版的VC对模板的支持有问题……
Sou2012 2009-05-08
  • 打赏
  • 举报
回复
up 6楼的可以,呵
lori227 2009-05-08
  • 打赏
  • 举报
回复

int _tmain(int argc, _TCHAR* argv[])
{

char szVar[] = "1234567890";

char szVar1[4] = "";
strncpy(szVar1, szVar, 3);

char szVar2[5] = "";
strncpy(szVar2, szVar + 3, 4);

char szVar3[4] = "";
strncpy(szVar3, szVar + 7, 3);

char szNew[11] = "";
sprintf(szNew, "%s%s%s", szVar3, szVar1, szVar2);

//printf(szNew);

int nLength = strlen(szNew);
for (int i = 0; i < nLength; ++i)
{
szNew[i] = (((szNew[i] - '0') + 2 ) % 10) + '0';
}

printf(szNew);

system("Pause");

return 0;
}



用c风格的字符串总该行了吧
amossavez 2009-05-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liliangbao 的回复:]
如下:

C/C++ code#include <iostream>
#include <string>

using namespace std;

int main(int argc, char *argv[])
{
string str= "1234567890";
string var;
string var1;
string var2;
string var3;

var1.assign(str, 0, 3);
var2.assign(str, 3, 4);
var3.assign(str, 7, 3);
var = var3 + var1 + var2;

for(int i = 0;i < var.length();i++)

[/Quote]

你应用这个就行了!!
lzh9955 2009-05-07
  • 打赏
  • 举报
回复
帮顶
winingsky 2009-05-07
  • 打赏
  • 举报
回复
帮顶!
yeungqi 2009-05-07
  • 打赏
  • 举报
回复
up
fairchild811 2009-05-07
  • 打赏
  • 举报
回复
最朴素的办法,6楼的方法可以,一步一步来
hongwei789007 2009-05-07
  • 打赏
  • 举报
回复
#include<iostream>
#include<string>
using namespace std;
int main()
{
string varold="1234567890",var;
string var1,var2,var3;
var1.assign(varold,0,3);
var2.assign(varold,3,4);
var3.assign(varold,7,3);
cout<<"var1="<<var1<<endl;
cout<<"var2="<<var2<<endl;
cout<<"var3="<<var3<<endl;
var=var3+var1+var2;
cout<<"var=var3+var1+var2----"<<var<<endl;
for(int i=0;i<var.length();++i)
{
var[i]=(((var[i]-'0')+2)%10)+'0';
cout<<var[i];
}
cout<<endl;
return 0;
}
谁能解释下:var[i]=(((var[i]-'0')+2)%10)+'0';是什么意思,特别是var[i]-‘0’的意思
zhangchaokun 2009-05-07
  • 打赏
  • 举报
回复

#include <iostream.h>
#include<string.h>

void main()
{
CString s;
s="1234567890";
CString var1="",var2="",var3="";
int i;
for(i=0;i<3;i++)
var1+=s[i];
for(i=3;i<7;i++)
var2+=s[i];
for(i=7;i<10;i++)
var3+=s[i];
CString var=var3+var1+var2;
CString varnew="";
for(i=0;i<var.strLen();i++)
varnew+=(var[i]-'0'+2)%10+'0';
cout<<varnew<<endl;
}


lingyin55 2009-05-07
  • 打赏
  • 举报
回复
那很可能是编译器的问题,以前用vc6也遇到过,你可以换个编译器试试

[Quote=引用 21 楼 zbjsd 的回复:]
头文件没有包含错误啊,难道vc6会有什么问题?
[/Quote]
zbjsd 2009-05-07
  • 打赏
  • 举报
回复
文件保存的是.cpp的格式啊,
zbjsd 2009-05-07
  • 打赏
  • 举报
回复
头文件没有包含错误啊,难道vc6会有什么问题?
lingyin55 2009-05-07
  • 打赏
  • 举报
回复
看看是不是头文件包含错误

#include <iostream>
using namespace std;

要不就有可能是你的vc6有问题了

[Quote=引用 17 楼 zbjsd 的回复:]
我的开发环境是vc++6.0.
把上面高手的程序放入开发环境中编译没通过,是不是我哪里设置不对啊?
[/Quote]
liao05050075 2009-05-07
  • 打赏
  • 举报
回复
肯定没问题,我那个也是用VC6写的。
你有没有把文件保存为.cpp的格式啊?
lingyin55 2009-05-07
  • 打赏
  • 举报
回复
随便拿了9楼兄弟的在vs08下运行,没问题

old string: 1234567890
new string: 0123456789
Press any key to continue . . .

zbjsd 2009-05-07
  • 打赏
  • 举报
回复
我的开发环境是vc++6.0.
把上面高手的程序放入开发环境中编译没通过,是不是我哪里设置不对啊?
加载更多回复(16)

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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