字符串拷贝问题...

zhaochong12 2003-09-17 10:33:04
#include<iostream>
#include<string>
using namespace std;
void modi (string *oneNum,string *twoNum);
int camp1(string oneNum,string twoNum);
main()
{
string oneNum="gfdg",twoNum;
cin>>oneNum;
cout<<oneNum<<endl;
modi(&oneNum,&twoNum);
camp1(oneNum,twoNum);
}
void modi (string *oneNum,string *twoNum)
{
twoNum=oneNum;
}
int camp1(string oneNum,string twoNum)
{
string temp;
//const char *a;
char b[100];
int iFor,bi=sizeof (oneNum);
for(iFor=0;iFor<bi;iFor++)
twoNum[iFor]=twoNum[bi-iFor]; //这地方我一直搞不定...
oneNum=oneNum+temp;
cout<<oneNum<<endl;
return 0;
}


程序挺简单的~就是输入asff,输出asffffsa

但是表示的地方一直搞不定。。请教。。
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaochong12 2003-09-18
  • 打赏
  • 举报
回复
终于解决~
非常感谢!!!!
^_^~
结贴~送分!
RainWindy 2003-09-18
  • 打赏
  • 举报
回复
在DOS下有个void swab( char *src, char *dest, int num );函数
在Windows下有个void _swab( char *src, char *dest, int n );函数
作用就是将src字符串反转
如果想自己写:
void swab(char* src, char* dest, int num)
{
for(int i=0; i<num; i++)
*(dest+i) = *(src+num-i-1);
}

使用在你的函数上
int camp1(char* oneNum, char*twoNum)
{
int num = strlen(oneNum);
swab(oneNum, twoNum, num);
twoNum[2*num]=0;
}
zhaochong12 2003-09-18
  • 打赏
  • 举报
回复
谢谢您的提醒!
没有任何值返回...
确实没有任何用.....

但是
string 声明的可以这样用吗twoNum[iFor]=twoNum[bi-iFor];
yjf7888 2003-09-17
  • 打赏
  • 举报
回复
int camp1(string oneNum,string twoNum)
{
int iFor, bi=oneNum.length();
for(iFor=0; iFor<bi; iFor++)
twoNum[iFor] = oneNum[bi-iFor-1];
oneNum=oneNum+twoNum;
cout<<oneNum<<endl;
return 0;
}


//下面这个函数没有任何用
void modi (string *oneNum,string *twoNum)
{
twoNum=oneNum;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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