注册 登录
编程论坛 C++教室

字符替换的问题?

newyj 发布于 2008-09-08 16:30, 1018 次点击
我想把str中的字符复制到var中 但是 调试 不成功 不知道 为什么?
#include<iostream>
using namespace std;
void Change(char*,char*)

int main(){
  char* str={"I am a teacher!"};
  char* var={"you are a student!"};
  Huan(str,var);
  int i;
  for(i=0;i!=15;i++)
    cout<<var[i]<<endl;
  return 0;  
}

void Change(char* i,char* j){
  while((*j++=*i++)!=0);
  *j++='/0';   
}
11 回复
#2
xmnathan2008-09-08 16:55
用strcpy_s(,,,)试试
#3
newyj2008-09-08 17:16
谢谢 楼上的 不过 我是想知道 我这个代码错在那里了
#4
中学者2008-09-08 17:19
指针指向的是常量存储区...不被修改...换数组..
#5
p1s2008-09-08 20:05
char* str改为char str[]
char* var改为char var[]
再试试看
#6
newyj2008-09-08 21:12
改 了 还是不行 啊
#7
joker392008-09-08 21:16
你这样定义的指针是常量,对他进行++操作就出问题了。
#8
p1s2008-09-08 21:17
Huan(str,var);

void Change(char* i,char* j){
这两个函数名怎么回事?
#9
newyj2008-09-08 22:49
不好意思 打错了
但是我 改了 还是不行 啊
#10
blueboy820062008-09-08 23:04
#include<iostream>
using namespace std;
void Change(char*,char*);

int main(){
  char str[]={"I am a teacher!"};
  char var[]={"you are a student!"};
  Change(str,var);
  int i;
  for(i=0;i!=15;i++)
    cout<<var[i];
  cout<<endl;
  return 0;  
}

void Change(char* i,char* j){
  while((*j++=*i++)!=0);
  *j++='/0';   
}

不知道你是哪有问题,你试下这个吧...
#11
vfdff2008-09-09 01:05
回复 1# newyj 的帖子
函数声明  void Change(char*,char*) 后面要由分号
#12
newyj2008-09-09 10:08
谢谢楼上
复制完以后 按说 这时的var 好象是 I am a teacher!'/0't!'/0'
输出的是I am a teacher!
但是怎么能让它输出全部呢I am a teacher!'/0't!'/0'
不知道 我说的是否明白
1