[ 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
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.