У меня возникает простой вопрос, потому что я не могу найти способ вернуть строку из функции и поместить ее в другую строку. Мой код в C это:Как правильно вернуть строку в C
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char *func();
int main()
{
char *temp = malloc(sizeof(char) * 25);
temp = func();
printf("String received: %s\n", temp);
return 0;
}
char *func()
{
char str[25];
strcpy(str, "HEY THERE!");
printf("String sent: %s\n", str);
return str;
}
Я получаю этот результат: Строки отправлено: Привет! Полученная строка:
Любая идея, как это сделать правильно? Спасибо
Я вижу, что вы говорите @Yu абсолютно правильно. Но попробуйте найти решение, temp снова кажется пустым – STRATOSpeed
@STRATOSpeed Теперь вы выделяете память для 'str', правильно? Как 'char * str = malloc (25);'? –
Хорошо, да. Да, я очень много нашел! Вот и все :) – STRATOSpeed