Итак, у меня есть стек char *. По сути, я хочу выскочить из этого стека и объединить его в одну длинную строку, разделенную «/» и вернуть ее. Однако я не знаю, как это сделать должным образом.Выпадающий стек char *, чтобы создать новую строку и вернуть ее
Я пытаюсь сделать это в C. Так что для моего кода это что-то вроде этого. Stacksize возвращает размер стека. Извините, если это плохо, я действительно не знаю.
struct stack* test = new_stack();
struct stacknode = test->head;
char* output = (char*)malloc(sizeof(char) * stacksize(test));
while(stacknode != NULL){
strcat(output, stacknode->name);
stacknode = stacknode->nextNode;
}
return output;
Любая помощь очень ценится. Thanks
SizeOf (Char) определяется как 1, так что вы можете упасть, что часть. –
Пожалуйста, [не набрасывайте] (http://stackoverflow.com/q/605845/2173917) возвращаемое значение 'malloc()'. –
'output' неинициализирован после того, как вы malloc его. Вы должны, по крайней мере, установить 'output [0] = '\ 0''. Также неясно, возвращает ли 'stacksize()' требуемый размер, так как вы не дали нам код для него. – JS1