|
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"是常量字符串,常量字符串是不能修改的。我这样说对不对呢? |
|