Jak stymulować EOF bez poprzedzania nowej linii w C
Powiedzmy, że mam poniższy kod C:
int getLine (char line[])
{
int c, i=0;
while( (c=getchar()) != EOF )
line[i++]=c;
line[i++] = c;
return i;
}
>> Enter: 007
>> ^Z
>> Output:
Jeśli uważnie obserwujemy sposób, w jaki przekazuję wyniki powyżej, naciskamEnter
przed stymulacją EOF. Oznacza to, że długość łańcucha wynosi 4 nie 3 (z wyjątkiem EOF).
Kiedy wykonuję swoje ćwiczenia, naprawdę mam kłopoty z tym dodatkiem.
Jak stymulować EOF bez nowej linii? Czy to w ogóle możliwe?
>> Enter: 007^Z
>> ^Z
>> Output: length=6