0
我用指向不同字符串的指針填充了一個stringtable char * data [500]。如何增加字符串表中的指針?
char* data [500];
int stringC = 0;
char PrintBuffer[200];
void data_display(void);
void printStringTable(void);
int main() {
data_display(); //fill buffer
printStringTable();
return 0;
}
這裏我用另一個緩衝區,這樣我可以在字符串存儲索引:
void data_display(void)
{
int index =0;
sprintf(PrintBuffer,"A Text %d\n", index);
output(PrintBuffer);
index ++;
sprintf(PrintBuffer,"B Text %d\n",index);
output(PrintBuffer);
index ++;
sprintf(PrintBuffer,"C Text %d\n",index);
output(PrintBuffer);
}
調試時,我可以看到指針總是指向同一個地址。
void output(char* Buffer)
{
data[stringC]= Buffer;
char*(*ptr)[500] = &data;
stringC++;
ptr+=stringC;
}
void printStringTable()
{
int i;
for (i = 0; i < 3; i++) {
printf(data[i]);
}
}
如果我有不使用另一個緩衝器(PrintBuffer)每個指針指向一個不同ADRESS純字符串和獲取:
文本0 乙文本1 C文本2
但在這個星座,我得到:
C文本2 C文本2 C文本2
有沒有辦法增加指針,使它指向不同的地址?
推薦約'的註釋,免費()'。 – chux 2014-10-17 10:56:33
這正是我所尋找的。非常感謝 – typeJoelz 2014-10-17 11:49:45