找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5586|回复: 2

[求助] 指针常量字符串问题

[复制链接]

1

主题

14

回帖

0

精华

铜牌会员

积分
40
发表于 2017-12-28 15:58:43 | 显示全部楼层 |阅读模式
VOID StringInitTest()
{
        //(1)用RtlInitAnsiString初始化字符串
        {
                ANSI_STRING  AnsiString1;
                CHAR * string1 = "hello";
               
                //初始化ANSI_STRING字符串
                RtlInitAnsiString(&AnsiString1, string1);
                DbgPrint("AnsiString1:%Z\n", &AnsiString1);//打印hello
                string1[0] = "H";
                string1[1] = "E";
                string1[2] = "L";
                string1[3] = "L";
                string1[4] = "O";
               
                //改变string1,AnsiString1同样会导致变化
                DbgPrint("AnsiString1:%Z\n", &AnsiString1);//打印HELLO
        }
第一个DbgPrint可以打印小写hello,第二个DbgPrint打印还是小写hello,但不能打印大写HELLO;
CHAR * string1 = "hello";中的"hello"是常量字符串,常量字符串是不能修改的。我这样说对不对呢?

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
发表于 2018-1-2 08:53:19 | 显示全部楼层
说得对。
此外以后不要指定某个用户回答问题。

1

主题

14

回帖

0

精华

铜牌会员

积分
40
 楼主| 发表于 2018-1-3 21:52:02 | 显示全部楼层
好的,我明白了,谢谢您的回答。我又有信心了。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表