[ s*o*f*r*o*n*i*j*e @ 05.01.2006. 17:08 ] @
pitanje je možda glupo, ali pošto sam početnik u C-u nemojte zameriti!

da li postoji neka fora, sa specifikacijama ili posebnim funkcijama koje rade sa stringovima, koja omogućuje da se učitaju dve-tri reči sa razmakom (space) i da se sve to dalje tretira kao celina (jedan string, tj niz od n karaktera)?

npr. scanf("%s",&ime_grada);

radi ok ako se ukuca Beograd, Niš, Leskovac.... ali za Novi Sad, Banja Luka isl. učita samo prvu reč pre razmaka

unapred hvala!
[ Mali Misha @ 05.01.2006. 19:57 ] @
char* gets(char*);

Code:
#include <stdio.h>

main()
{
    char a[256];

    gets(a);

    printf("'%s'",a);

    return 0;
}
[ _prompt @ 06.01.2006. 03:38 ] @
Za formatiranje stringa ti je najbolja funkcija

int sscanf(const char *buffer, const char *format, ...)

gde je buffer cela linija teksta sa unosa(stdin) ili bilo koja
a format ti je kao u printf()-u, tipa "%d %s", &neki_broj, &neki_string

vraca broj unesenih promenjivih u odnosu na format

prost primer:

#include <stdio.h>
#include <stdlib.h>

int main() {

char line[128];

char ime[24];
char prezime[24];
int n;

if ( fgets(line, 128, stdin) == NULL ) {
printf("greska");
exit(-1);
}

/* ovde ocekuje da vrati 3 zbog "%s %s %d" 3 formata */
if ( sscanf(line, "%s %s %d", &ime, &prezime, &n) != 3 ) {
printf("greska");
exit(-1);
}

printf("ime = %s\nprezime = %s\nbroj = %d\n", ime, prezime, n);

return 0;
}

[ s*o*f*r*o*n*i*j*e @ 06.01.2006. 11:51 ] @
hvala

probacu pa da vidim kako to sve radi