如何输出字符**



如何输出从函数接收的字符**?

假设我有:

char** foo = magicFunction();

魔术函数将返回一个字符**,但我不知道该函数是如何工作的,或者字符**的长度,以及它所包含的字符的长度。(我正在使用一个执行此操作的库,并且我正在将函数替换为magicFunction(( (

如果我尝试访问带括号的属性:

std::cout << foo[0][0];

我打印出来的只是0.当我尝试增加第二个括号访问器时,我得到奇怪的符号,这可能是我不应该访问的内存。

我也尝试过取消引用:

std::cout << *foo;
std::cout << **foo;

但我仍然只能打印出0

当我打印只是 foo:

std::cout << foo;

我得到十六进制地址:0x562e4699dda0(尽管每次运行程序时它都会波动(

除非另有指定,否则指针数组将以 NULL 结尾,字符串通常以"\0"字符结尾。因此,为了打印您的数据,我会尝试:

for( char **ptr = foo; *ptr != NULL; ptr++ ) {
std::cout << *ptr << std::endl;
}

最新更新