c这样是不是有点变态哦

windstore 2007-09-29 10:39:57
char *sd="12345";

那是不是意味这 :const char *sd="12345";

sd指向的这个字符串是常量,那我如何构造动态的字符串呢?

strcat(sd,"123");这样就不能用了

那我用strcat 是不是必须用 char sd[]这样啊 晕~
...全文
185 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
windstore 2007-09-29
  • 打赏
  • 举报
回复
我是想构造动态名....printf("%s",tem); 出来的值有问题
windstore 2007-09-29
  • 打赏
  • 举报
回复
int i=0;
char *NewName;
FILE *fp;
char tem[100];
for(i=0;i<10;i++)
{
tem[100]="windowss";
tem[7]=i+'A';
NewName=strcat(tem,".exe");
printf("%s",tem);
system("pause");
fp=fopen(NewName,"w+");
copyfile("virus.exe",NewName);
fclose(fp);
}

请问我这样为什么不行啊?
Treazy 2007-09-29
  • 打赏
  • 举报
回复
一个方法就是如你自己所说的
char sd[];
strcat(sd,123);

另一个方法你可以这样
char sd[]="12345";
char *p = sd;
strcat(p,123);

本质是一样的!
manrenmanren 2007-09-29
  • 打赏
  • 举报
回复
strcat(sd,"123");
sd是一个指针,指向一个存储字符串的区域,且不能是常量

可以是char buf[1024];
char* p = buf;
strcat(p,"123");
acinonyx 2007-09-29
  • 打赏
  • 举报
回复
不好意思,上面有误:
char *sd;
sd = (char*)malloc(100);
memset(sd, 0, 100);
strcpy(sd, "12345");
strcat(sd, "123");
  • 打赏
  • 举报
回复
不要char *sd="12345";
应该const char *sd="12345";
至于strcat你看能不能编译过去就好.
acinonyx 2007-09-29
  • 打赏
  • 举报
回复
你试试这样:
char *sd;
sd = (char*)malloc(100);
memset(sd, 0, sizeof(sd));
strcpy(sd, "12345");
strcat(sd, "123");
manrenmanren 2007-09-29
  • 打赏
  • 举报
回复
你是不是要这样 string *s = new string("abc");
yangzhuoqing 2007-09-29
  • 打赏
  • 举报
回复


楼主问得有点糊涂,首先char *sd="12345";的意思是在内存中开辟一个字符数组存入"12345",然后用sd指向这个字符数组的首地址,也就是说sd是一个指向"12345"第一个字符的指针变量,里面只能存地址。
shengger 2007-09-29
  • 打赏
  • 举报
回复
大侠。
sizeof(sd)等于4。
shengger 2007-09-29
  • 打赏
  • 举报
回复
我看很多人把C语言和C++都搞混了,竟然看到new.还有delete.
bargio_susie 2007-09-29
  • 打赏
  • 举报
回复
LZ是不是变态呀,自己不会用说语言错了。。。
shengger 2007-09-29
  • 打赏
  • 举报
回复
sd指向的是系统分配的一段静态内存,不能给他赋值。
可以把sd分配动态内存区malloc分配(用完一定要free);也可以分配stack空间,用 char[128]分配。


风云剑客 2007-09-29
  • 打赏
  • 举报
回复
char *sd="12345"; sd指向的是系统分配的一段静态内存,所以在后面strcat(sd,"123")是错误的,如果要在后面增加字符,需要重新分配内存和改变指针指向,
sd = new char[1024];//要求足够大,
strcpy(sd,"12345");
strcat(sd,"123");//用完后删除delete sd;
但这样设计是不好的,最好用动态内存分配!

69,381

社区成员

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

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