strdup

Компиляция следующего кода: #include <string.h> #define FOO (NULL) int main(int argc, char *argv[]) { char *foo; if (FOO) foo = strdup(FOO); return 0; } Приводит к следующему предупреждению компилятора: foo.c: In function ‘main’: foo.c:9:3: warning: null argument where non-n...

Я создаю массив имен файлов, полученных из структуры linux_dirent (d). На каждой итерации цикла имя файла получается с помощью d_entry = strdup(d->d_name); И указатель на это добавляется в массив: srcList[aSz] = d_entry; Поскольку массив указателей должен иметь допустимую память, чтобы указать на не...

Я читал, что strcpy для копирования строки, и strdup возвращает указатель на новую строку, чтобы повторяющиеся строки. не могли бы вы объяснить, какие случаи вы предпочитаете использовать strcpy а какие случаи вы предпочитаете использовать strdup?...