我正在寫一個類的c + +應該添加一個字符串指針到一個數組。而不是添加一個指向字符串的指針我只是將第一個字符添加到數組中,但我希望能夠在之後調用整個字符串。如何將字符串的指針添加到列表中,以便我可以打印出整個字符串?使C++中的字符串指針和數組的指針
class Listptr{
public:
Listptr();
void append(char *item);
private:
int size = 5;
char * buffer;
};
Listptr::Listptr(){
buffer = (char*)malloc(size);
for(int i=0; i<size; i++){
buffer[i] = NULL;
}
}
void Listptr::append(char *item){
for(int i=0; i<size; i++){
if(buffer[i] == NULL){
buffer[i] = *item;
break;
}
}
for(int i=0; i<size; i++){
cout << " " << buffer[i];
}
}
int main() {
Listptr test;
char val[] = "test";
char val2[] = "test2";
test.append(val);
test.append(val2);
}
選擇C++。 'std :: vector'是你的朋友反對UB&內存泄漏。 –
'class Listptr {''Listptr :: Listptr(){'這顯然是C++代碼;請不要將C++代碼標記爲C. –
是不是有沒有使用'std :: string'的原因? –