请教C语言问题:如何将字符串常量复制到一个变量中。TKS
现有一常量字符串,想把它复制到一变量中,然后提取有用的字符串出来。比如:
const char *ch = "abcd";
char *pch;
如何把ch复制到pch中,谢谢。 pch = (char*)ch; 回复【1楼】FoxFox
pch = (char*)ch;
-----------------------------------------------------------------------
ch是const,你这样强制过来的,编译是不会报错,但对pch进行写操作的话,就杯具了.
const char *ch = "abcd";
char pch;//尺寸要足够大以容纳源数据.
然后
char *strcpy( char *to, const char *from );
如果只是提取而没有写操作的话,直接对 ch操作就行了,不必复制一份出来. 根据2楼的方法搞定了,测试代码:
int main()
{
const char *ch = "abcdefg";
char pch;
strcpy(pch,ch);
printf(pch);
return 0;
}
1楼的方法没有达到复制的效果,此种方法适合只读。我需要提取出字符来再写回去。谢谢你的指点!
2楼的方法是我想要的,谢谢! 2楼的方法是对的。
我的方法只能是传递指针而已。 我杯具过。把一个字符串小写改大写,一改就硬件报错。后来复制了才行。 PC中,一般编译器都把常量字符串放在只有Read权限的内存中,该内存是不允许改写的,会触发OS异常的。
页:
[1]