說我已經在我的程序中聲明瞭char *數組[size],並在其中放入了一些字符串。如果我再給他們分配一些東西,他們不會取代以前的內容,但他們繼續追加以前的內容。如何正確清除/重置所有內容?當你寫arr中重置一個char *數組[大小]內容
void function(char* action)
{
const int myMainArrSize = 3;
char *myMainArr[myArrSize];
char *myArrOne[] = {"String 1", "String 2", "String 3"};
char *myArrTwo[] = {"Another String 1", "Another String 2", "Another String 3"};
if(strcmp(action, "action1")==0)
{
for(int i=0;i<myMainArrSize;i++)
{
myMainArr[i] = myArrOne[i];
}
}
if (strcmp(action, "action2")==0)
{
for(int i=0;i<myMainArrSize;i++)
{
myMainArr[i] = myArrOne[i];
}
}
}
如果這是C++,爲什麼不使用'std :: string'?然後's.clear();'。 – GManNickG 2010-01-18 05:46:53
我會給你一個想法..你爲什麼不使用兩個陣列一個可以改變另一個重置.. – jjj 2010-01-18 05:52:41
我重申爲C. Jj:這取決於你如何將數據放入第一次。你可以發佈該代碼嗎? – Potatoswatter 2010-01-18 05:53:19