Cóż, to podstawowe pytanie, ale wydaje mi się, że jest dość zagmatwany.Jak działa wewnętrznie fgets?
#include<stdio.h>
int main()
{
char a[100];
printf("Enter a string\n");
scanf("%s",a);
}
Zasadniczo powyższe jest to, co chcę osiągnąć. Gdybym wprowadź ciąg
James Bond
potem chcę które mają być przechowywane w tablicy a. Ale problem polega na tym, że w pustej przestrzeni jest zapisane tylko słowo James. Jak mogę rozwiązać ten problem.
UPDATE
Po odpowiedziach podanych poniżej Rozumiem fgets() byłby lepszym wyborem. Chcę poznać wewnętrzną pracę fgetów, ponieważ jest ona w stanie przechowywać ciąg znaków w przestrzeni, w której scanf nie jest w stanie zrobić tego samego.
Użyj 'fgets' zamiast' scanf'. Prawie zawsze. –
@ Chris Lutz Chcę wiedzieć, jak działa fgets, dlaczego fgety są w stanie zaakceptować przestrzeń, ale nie skanują? –