如果我有这些代码:如何打印C++中指针指针的所有值?
unsigned char **keys;
int *num_keys;
int num_images = (int) key_files.size(); // the result is 10 for example
keys = new unsigned char *[num_images];
num_keys = new int[num_images];
/* Read all keys */
for (int i = 0; i < num_images; i++) {
keys[i] = NULL;
num_keys[i] = ReadKeyFile(key_files[i].c_str(), keys+i);
}
我想读回用printf里面所有键的元素,我该怎么办呢?
我刚刚开始使用C++,指针让我不舒服。
对于其它语言,我认为它应该是2维的阵列:阵列[A] [B]然后我可以循环这样的:
for(int i=0; i<a; i++)
for(int i=j; j<b; j++)
printf(array[i][j]);
我认为类似的东西,除非焦炭**键有另一个含义?以及如何打印所有这些文件?
在此先感谢。
这是一个绝对可怕的方法。请忘记所有人都可能通过啤酒告诉你关于指针的所有信息,并从学习惯用的现代C++开始。标准库有一个容器,它允许你以更可读的方式编写这些代码,此外还有*正确*和*安全*时尚。 –
所以让我们来回顾一下......你将关键文件名存储在key_files显然是std :: string的数组中,并将这些文件的内容存储在char **中?不是说它不是一个有效的C++,但我强烈建议你保持一致并将你的密钥存储在std :: string的(static/dynamic/array/list)中,例如typedef vector KeyVec等。 –
AlexK
这是一个原始实现,我想读取num_keys,并把它们放在两个浮点数组中 – olidev