Kadmium Skrevet 13. august 2007 Skrevet 13. august 2007 (endret) Hei. Jeg er relativt ny i C-programmering, og de mest grunnleggende tingene får meg til å undre. Det har seg slik at jeg skal lage en applikasjon som tar i mot data fra brukeren, lagrer den i en variabel, og skriver ut dataen til standard output. Dataen som skal hentes inn, er fullt navn på en person. Det får jeg imidlertid ikke til, for hver gang jeg skriver inn noe med mellomrom, blir strengen kuttet av rett før mellomrommet, og kun fornavnet kommer med. Noen som vet hvordan dette kan gjøres korrekt i C? #include <stdio.h> int main(void) { char name[50]; printf("Hva er navnet ditt? "); scanf("%s", &name); printf("Navnet ditt er %s.\n", &name); } Endret 13. august 2007 av Kadmium
Firesky Skrevet 13. august 2007 Skrevet 13. august 2007 (endret) Er ikke helt sikker, men hvis du scanner etter char (%c) istedet tror jeg det vil gå. Er som sagt ikke helt sikker, men husker jeg styrte mye med det den første gangen da jeg skulle lage noe lignende Endret 13. august 2007 av Firesky
Kadmium Skrevet 13. august 2007 Forfatter Skrevet 13. august 2007 (endret) Har nå prøvd følgende: printf("Hva er navnet ditt? "); scanf("%c", &name); printf("Navnet ditt er %c.\n", &name); printf("Hva er navnet ditt? "); scanf("%c", &name); printf("Navnet ditt er %s.\n", &name); printf("Hva er navnet ditt? "); scanf("%s", &name); printf("Navnet ditt er %s.\n", &name); printf("Hva er navnet ditt? "); scanf("%s", &name); printf("Navnet ditt er %c.\n", &name); Og alle andre tenkelige varianter. Får det fremdeles ikke til. Endret 13. august 2007 av Kadmium
Dead_Rabbit Skrevet 13. august 2007 Skrevet 13. august 2007 (endret) http://www.cppreference.com/stdio/gets.html Kan dette være noe? Edit: http://www.cppreference.com/stdio/fgets.html Denne er vel å foretrekke... Endret 13. august 2007 av staalezh
Kadmium Skrevet 13. august 2007 Forfatter Skrevet 13. august 2007 Jepp, tok en titt på fgets, og det fungerte utmerket. #include <stdio.h> #include <string.h> int main(void) { char name[50]; printf("Hva heter du? "); fgets(name, 50, stdin); printf("Ditt navn er: %s", &name); return(0); }
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå