Wątek przeniesiony 2014-05-15 12:23 z C/C++ przez ŁF.

Char - oddzielny zapis po spacji

0

Witam mam problem,
Jak zrobić że gdy pojawi się na strumieniu wejsciowym napis rozdzielony spacji np "kkk kk" to zostanie zapisany do dwóch charów pierwszy bedzie miał zawartość kkk natomiast drugi kk,
a jesli w strumieniu podamy tylko napis bez spacji np kkk ,zostanie zapisany do jednego chara.
Jest to potrzebne do tego poniewaz jesli w jednej lini wystapi wyraz bez spacji to program uzyje funkcji z jednym argumentem, natomiast jesli wsytapi to z dwoma ("kkk,kk")

0
char A[100],B[100];
scanf("%100s %100s",A,B);
0

Ale jeśli podam napis bez spacji to czeka na wprowadzenie kolejnego , a ma być ze jesli wprowadze taki napis bez spacji to ma zapisać do chara i koniec wczytywania

1

To wczytujesz wiersz i dzielisz ręcznie:

char A[200],*B;
fgets(A,200,stdin);
if((B=strchr(A,'\n'))!=NULL) *B=0; // usuwamy entera.
B=strchr(A,' ');
if(B) *(B++)=0; // dwa parametry
else B=A+strlen(A); // jeden parametr
0

Dzięki działa ,nie wpadł bym na to

1 użytkowników online, w tym zalogowanych: 0, gości: 1