如何判断char是指针常量还是常量指针!

wllllll 2009-11-26 01:04:57
如下代码,char * c = "d";dddd(c);和dddd("zzzz");都会发生错误,因为他们是常量指针。
但是可能我都会执行dddd去做一次操作,如何判断他们是常量指针。是常量指针,那么放弃操作。


#include "stdafx.h"
#include "malloc.h"
#include <string.h>

static void dddd(char DaFile[]){
char *HaFile;
for ( HaFile = DaFile; HaFile < DaFile + strlen(DaFile); HaFile++ ) {
*HaFile = 45;
}
}
int main( void ){
char * b = (char*)malloc(1);
dddd(b);
printf("{%s}\n", b);
char * c = "d";
dddd(c);
dddd("zzzz");
printf("{%s}\n", c);
return 0;
}
...全文
51 点赞 收藏 5
写回复
5 条回复
wllllll 2009年11月26日
恩,谢谢了。。
回复 点赞
HelloDan 2009年11月26日
C的字符串以'\0'结尾啊。

你自己写的代码,用时知道到底是什么,再决定调用。 或者你复制一份来再操作。
回复 点赞
wllllll 2009年11月26日
完鸟。。。
回复 点赞
baihacker 2009年11月26日
注意const啊...
如果指向的不可修改就const char*
回复 点赞
mstlq 2009年11月26日
需求不合理……
没救了……
请推倒重来,重新设计您的程序……
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告