当前位置: 代码迷 >> C语言 >> 字符串函数问题(求助)
  详细解决方案

字符串函数问题(求助)

热度:169   发布时间:2006-10-12 14:43:47.0
字符串函数问题(求助)

定义一个字符串指针数组
char *p[]={"0:","1:"};

如果我想把" * "添加到字符串的末尾,可不可以这样写?如果不能,该咋样?

char *p[]={"0:","1:"};
strcat(p[0]," * ");


----------------解决方案--------------------------------------------------------
不可以。p[0]的内容存储在静态常量区域,其内容不可以修改。

可以改为存储在栈上,用二维数组就可以了,char p[2][5];
----------------解决方案--------------------------------------------------------
哦。。。谢谢
----------------解决方案--------------------------------------------------------

那么如何输出呢?
#include <stdio.h>
#include <string.h>

void main(void ) {

char p[2][5]={"0:","1:"};
strcat(p[0],"*");
printf("%s",p);
}
这样不能把结果直接打出来,难道要用循环?
有没有大虾帮忙看下,能不能直接用地址把这些字符串直接输出来?


----------------解决方案--------------------------------------------------------
又有问题了,如果先分配空间了,能不能那样写?
----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <string.h>

void main(void ) {

char p[2][5]={"0:","1:"};
strcat(p[0],"*");
printf("%s",p[0]);
getch();
}


----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------
  相关解决方案