关于vc++6.0中char *的问题??? void mystrcpy(char *dest,const char *source){while(*dest++=*source++);}为什么在vc中不能对*dest赋值。而此代码可以在标准c中通过编译?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译能通过,可是在调用这个函数时char *a="abc";char *b;mystrcpy(b,a);就会出错。如果改为char *a="abc";char b[10];mystrcpy(b,a);就可以了。不知为什么?? #include "stdio.h"void f(char *s){ char *p=s; while(*s) { if(*s>='0' && *s<='9') { s++; } else { *p=*s; p++; s++; *p='\0'; } }}main(){char *s1="123abc";f(s1);printf("%s\n",s1);}如下程序,在c下可以用,输出"abc"但在,vc下,会出现错误,调试时*p=*s;语句无法执行,请问这是为什么?? dest没有分配空间char *a = "abc"char* b = new char[4];mystrcpy(b,a); 因为char *b只是定义了一个字符指针,并没有分配空间,所以直接赋值会出错而char b[10],定义了一个字符数组,已经分配了10个字节的空间 happyparrot(快乐鹦鹉):修改了语句char *b="sss";为b分配了空间,怎么还是不行???还可以怎么分配空间?? char *p = new char[100];//一定要new。使用完后delete p;windows的自我空间内存保护行为。 char *b="sss";还是没有为b分配空间将b指向了一个const,不可能修改b中的数据的 关于vc++调用c#写的dll 如何实现 网络通信 密钥交换 如何保持占用的带宽? 设置控件颜色!! C++讨论群成立 QQ群号:2069254 爱好C++的都来 如何知道一个CString对象中是还有另一个字符串? 没有学C,可以直接学VC吗? 华中师范大学计算机科学系9701班 向建刚 请进! 请问 COM是否已经过时了。 400分高分求助!如何将一组图片加入到PPT(PowerPoint)文件中? 还是char问题 各位高手好:
char *a="abc";
char *b;
mystrcpy(b,a);就会出错。
如果改为
char *a="abc";
char b[10];
mystrcpy(b,a);
就可以了。不知为什么??
void f(char *s)
{
char *p=s;
while(*s)
{
if(*s>='0' && *s<='9')
{
s++;
}
else
{
*p=*s;
p++;
s++;
*p='\0';
}
}
}
main()
{
char *s1="123abc";
f(s1);
printf("%s\n",s1);
}
如下程序,在c下可以用,输出"abc"
但在,vc下,会出现错误,调试时*p=*s;语句无法执行,请问这是为什么??
char *a = "abc"
char* b = new char[4];
mystrcpy(b,a);
而char b[10],定义了一个字符数组,已经分配了10个字节的空间
修改了语句char *b="sss";为b分配了空间,怎么还是不行???
还可以怎么分配空间??
使用完后
delete p;
windows的自我空间内存保护行为。
将b指向了一个const,不可能修改b中的数据的