Что случилось с этим?EXC_BAD_ACCESS при вызове printf()
int main(int argc, char** argv) {
printf("%% ");
size_t len;
ssize_t read;
char* line;
int size;
read = getline(&line, &len,stdin);
printf("my name: %s\n",argv[0]);
printf("%s",line);
char* args[]= {"yoyoyo","hi","me",NULL};
return 0;
}
отладка показывает Исключение: EXC_BAD_ACCESS (код = 1, адрес = 0xa66647360)) на
Е ("мое имя:% s \ п", ARGV [0]); линия.
Нет, OP использует ['getline()'] (http://man7.org/linux/man-pages/man3/getline.3.html), функцию POSIX.1, а не ['fgets() '] (http://man7.org/linux/man-pages/man3/fgets.3.html). 'getline()' выполняет динамическое управление памятью, и вы должны дать ему указатель на указатель, указатель на выделенный размер и поток; проблема в том, что OP не инициализировал первые два значения должным образом. –
Вы правы; поддержал ваш ответ. –