Ich versuche, ein Shell-Programm in C zu schreiben. Die folgende Funktion soll Benutzerzeile-Eingabe erhalten. Ich halte eine „ungültige Umwandlung von void*
zu char**
Fehler auf der Leitung empfangen, wo ich malloc versuchen.Ungültiger Konvertierungsfehler bei der Verwendung von malloc
Ich verstehe nicht, warum. Kann mir jemand erklären?
char *get_line_input(void)
{
int scan;
int buff_size = 1024;
int argument_tracker = 0;
char *line = malloc(sizeof(char) * buff_size);
while (1) {
scan = getchar();
if (scan == '\n') {
line[argument_tracker] = '\0';
return line;
} else {
line[argument_tracker] = scan;
}
argument_tracker++;
}
}
Sind Sie sicher, dass Sie eine c nicht mit ++ Compiler –
nicht reproduzieren kann: saubere Kompilierung. –
von '' void * ''zu' 'char **'' Tippfehler von '' void * ''zu' 'char *''? – BLUEPIXY