linux-l: GCC Frage

Johannes Walther hannes at jw-b.de
Fr Mär 5 18:37:43 CET 1999


Netbandit at Infoship wrote:
> 
> Hi, ich bins nochmal,
> 
> hab schon zu Heuse mit C angefangen... hab 2 Fragen:

gut so... Selbststudium... weiter so...

> 
> 1.) in meinem Buch steht, wenn ich einem String (oder char array) zuweisen will
> kann ich es so z.B. machen:
> 
> char text[80];
> text = "Hallo Welt!";

Wurde erklährt...

> 2.) ich möchte über scanf ein String einlesen:
> 
> char text[80];
> printf("Bitte Satz eingeben: ");
> scanf("%80s",text);
> printf(text);

Hier hast du nur ein & vergessen..... scanf will den String auch wo
ablegen können, dazu muß es die Adresse wissen, das wird mit &
gemacht.... (ganz grob gesagt). Du hast es hier schon mit Zeigern zu
tun...

Beispiel was funktioniert:
------------------------------------------------------

#include <stdio.h>

/* Standartfunktionen mitnehmen */

void main(void)

/* Heuptprogramm  */

{
        char text[80];

/* 80 Byte für den Sting reservieren, inclkusive der NULL als stingende
Kennung */

        printf("Bitte Satz eingeben (max 79 Zeichen) : ");

/* Erst mal sagen was der Anwender machen soll */

        scanf("%s", &text);

/*		^^^^^^^^^^^^^^   dort immer das & benutzen */
/* Einlesen und merken                                     */

        printf("%s \n", text);

/* und nun ausgeben, danach ein Newline sonst passiert das: */
/* Bitte Satz eingeben (max 79 Zeichen) : sfgsfg            */
/* sfgsfghannes:[c-test] >				    */

}

/* Rücksprung in die bash */
--------------------------------------------------------


Gruß Hannes
PS: 

Nein ich bin kein C-Programmierer, 
eigentlich hab ich vom Programmieren keine Ahnung,  .... ;-)
-- 
Johannes Walther  //http:??//



Mehr Informationen über die Mailingliste linux-l