URL: https://www.overclockers.at/coding-stuff/text_einlesen_in_c_58680/page_2 - zur Vollversion wechseln!
int scanf(const char *format, [Argumente]) verlangt als Argument einen Pointer auf eine Variable. Wenn du eine Variable übergibst, wandelt er den Inhalt der Variable in eine Speicheradresse um und speicher den eingelesenen Wert an der entsprechenden Stelle.
Wenn du einen Array (Pointer) in scanf verwendest, brauchst du den &-Operator nicht.
Wenn es ein Primitiver Datentyp wär (int, float...) würdest du bei scanf das & brachen.
edit: ge0wnt; mist ich hab einen delay 
Zitat von FMFlashbei einfachen elmenten übergibt man die addresse
char x;
scanf ("%s", &x);
bei arrays den pointer
char x [1024];
scanf ("%s", x);

was tutsn da rum?
ich würds so machen:
---------------------------------
char text[40];
cin>>text;
cout<<text;
getch();
---------------------------------
edit: hab grad gemerkt dass es so nur eine zeichenkette einliest.
hab seite einem dreiviertel jahr nicht mehr c programmiert 
Zitat von Duronwas tutsn da rum?
ich würds so machen:
---------------------------------
char text[40];
cin>>text;
cout<<text;
getch();
---------------------------------
fertig
Zitat von FMFlashcin kann eher nix, weil man damit afair keine sätze einlesen kann
Zitat von Duronedit: hab grad gemerkt dass es so nur eine zeichenkette einliest.
hab seite einem dreiviertel jahr nicht mehr c programmiert

die relativ sichere methode dinge einzulesen....Zitatchar *interface(char *input_line)
{
char temp_char =0;
int char_count =0;
if (!input_line)
exitOnFatalErrorOutOfMemory();
while ( ( (temp_char = getchar()) != '\n'))
{
input_line[char_count] = temp_char;
char_count++;
if (char_count>=MAX_STR_LEN) break;
}
input_line[char_count] = '\0';
return(input_line);
}
OT : Ich möchte wissen wieviele der hier gesammelten Codestücke vom Threadstarter hergenommen werden 
Zitat von FMFlashergänzung:
da er aber nicht nach einer möglichkeit sucht aus einem file zu lesen sondern aus dem stdin stream -> gets () statt fgets ()
Zitat von atroxnein, gets() ist kein ersatz, es erlaubt keine beschränkung der stringlänge! stattdessen fgets mit dem parameter stdin aufrufen (wird von stdio.h zusammen mit stderr und stdout eingebunden)
he der f#ngt grad mal an mim programmiern erschlag ihn ned gleiZitat von xdfkdie relativ sichere methode dinge einzulesen....

Zitat von semteXnennen wir die variable x
is jugendfreier
warum hab i dreck gecodet?!? i mach das imma so
du spannst feld auf mit 50 zeichn callled X
dann lest nen string ein (%s) und speicherst das auf X
mit printf gibst es wieder aus
wo is da der dreck?!?
klar speichert er es IRGENDWO
und? who cares?
is ja egal wo im ram das ding liegt
@Weird: Da liegst du richtig!
) adressen er weitergeht 

jo eh!
beim scanf musst &x machn!
Er muss sich das zeug ja von der Adresse holen...
btw, i code scho seit 3 jahrn so, habs so gelernt
ja aber eben bei arrays is der name scho die erste adresse, also entweder bei arrays
scanf("",x) oda
scanf("",&x[])
jo eh... aber x alleine ist schon die adresseZitat von semteXjo eh!
beim scanf musst &x machn!
Er muss sich das zeug ja von der Adresse holen...

Zitat von Neo-=IuE=-ja aber eben bei arrays is der name scho die erste adresse, also entweder bei arrays
scanf("",x) oda
scanf("",&x[])
i schnall ehrlichgsagt ned ganz was du meinst
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026