Как правильно вернуть строку из функции? (На языке С), gsoftadmin, 27-Дек-03, 11:19 [смотреть все]Итак, вопрос. Есть функция, которая читает чего-то из файла. Она должна возвращать то, что прочитала, в виде строки, в главную программу. Люди, помогите. Обьясните понятно, плиз, как это сделать. Три дня парюсь - понять не могу. Пожалуйста, обьясните подробно, сколько памяти при этом выделить и когда ее нужно освобождать (корректно).Я себе представляю так: char *func(); int main() { char var[100]; var = func(); printf("%s\n",var); return 0; } char *func() { static char val[100]; Открываю файл; fgets(val,80,fp); Закрываю файл. return val; } Помогите, плиз.
|
- Как правильно вернуть строку из функции? (На языке С), del, 02:32 , 29-Дек-03 (1)
Ну, можно и так. Только надо сказать int main () { char *var; var = func(); printf("%s:, var); }А есче можно char* func() { char *v; v = (char*)malloc(сколько надо); read(v,сколько надо, из файла); return v; } int main() { char *v; v = func(); printf("%s", v); free(v); }
|