二级指针字符串,使用总是存在越界问题
#include <stdio.h>
#include <strsafe.h>
int main()
{
wchar_t **Word;
Word=new wchar_t * ;
*Word=new wchar_t ;
Word=L"123456";
Word=L'a';
Word=L'a';
printf("%s",Word);
return 0;
}
其中Word的调用有越界问题,想动态分配空间给字符串数组,对于这种二级指针字符串该如何操作,才能做增删查改的操作
不是越界
Word=L"123456";
这个Word 指向了一个字符串常量
Word=L'a';
这个操作企图修改字符串常量
所以错了
另外 printf是给普通字符串用的
宽字节字符串 你得用wprintf 求道于盲 发表于 2017-10-17 08:57
不是越界
这个Word 指向了一个字符串常量
wchar_t **Word;
Word=new wchar_t * ;
*Word=new wchar_t;
Word=L'a';
Word=L'b';
这次调用,没有指向字符串,还是无法给Word添加字符
请问是我的new方式有问题吗,Word不能改变,如果我想从这些字符串数组中依次录入字符,应该怎么办 word,word,是里面的单个字符。,word是个指针数组,里面只有一个指针,指向的是 new wchar_t,
Word=L'a';
Word=L'b';
这样就可以了,我也是初学一周,纯个人理解。 懂了,我给二级指针new的时候是new 的 wchar_t * 形式,*word 只能是一个地址,是连续的字符串,不是连续的字符,在给地址赋值常量字符的时候就会出现错误,要想挨个录入字符,我的方式是,声明一个字符指针,来间接录入 感谢各位大侠了
页:
[1]