piątek, 2 stycznia 2009

Wczytywanie całego wiersza

Pomyślałem, że wielu gimnazjalistom przydałaby się wskazówka, jak wczytywać cały wiersz ze standardowego wejścia. Wiersz może zawierać znaki odstępu (spacje).
Poniższy program wczytuje cały pierwszy wiersz ze standardowego wejścia (aż do napotkania znaku nowej linii). Program zapamiętuję wiersz w tablicy znaków line, a liczbę wczytanych znaków zapamiętuje pod zmienną n (nie wliczając znaku końca wiersza, czyli znaku nowej linii, czyli znaku '\n').

#include<cstdio>
#include<cstdlib>

using namespace std;

char *line;
int n; // długość linii

int main()
{
line=NULL;
size_t mem_size;
n=getline(&line,&mem_size,stdin)-1;

printf("n=%d\n", n);
printf("%s\n", line);

printf("Znak po znaku:\n");
for (int i=0; i<n; i++)
{
printf("line[%2d] = %c (kod ascii=%d)\n", i, line[i], line[i]);
}
return 0;
}

1 komentarz:

Unknown pisze...

Drogi Rafale

Ponieważ nie bardzo mam czas szukać miejsca do tego przeznaczonego - umieszczam to tu.

Chciałam Ci cholernie podziekować za algorytm liczący funkcję Eulera.. Po prostu z nieba mi spadłeś! :))

Dziekuje! :)


Pozdrawiam i życzę sukcesów
Ania ;)