首页 > 解决方案 > 如何将**ptr的第N个元素分配给变量?

问题描述

我是 C++ 新手,但希望我正确地问了这个问题。

如果有一个**ptr,存储多个指向C风格字符串的指针,如何将**ptr的第N个元素分配给一个变量?

const char** audioArrays[]{ turretDetectionWavFiles, turretActivationWavFiles, turretSearchingWavFiles, turretPowerDownWavFiles, turretAttackWavFiles, turretMovedWavFiles,
                            turretDie };

**ptr 的第 0 个元素是 turretDetectionWavFiles[]

const char* turretDetectionWavFiles[]{ "turret_active_1.wav", "turret_active_2.wav", "turret_active_3.wav", "turret_active_4.wav", "turret_active_5.wav", 
                                          "turret_active_6.wav", "turret_active_7.wav", "turret_active_8.wav" };

在这里,我总是得到“turret_activate_1.wav”

void AudioClass::playAudio(char* incomingData, int MAX_DATA_LENGTH, const char** audioArrays, 
                           const int sizeOfAudioArrays)
const char* audioArraysChars{}; 
int audioArraysIndex{};
int strcmpResult{};

if ((strcmpResult = strcmp(incomingData, "turretDetectionWavFiles") == 0)) //turretDetectionWavFiles
{
     audioArraysChars = audioArrays[0];
     audioArraysIndex = 0;
}

因此,我需要分配不是 turretDetectionWavFiles 数组 (audioArrays[0]) 而是 turretActivationWavFiles (audioArrays[1]) 数组的元素之一(例如第三个元素),而不是分配“turret_active_1.wav”。

标签: c++

解决方案


推荐阅读