Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » & (Adreßoperator)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] > 7 < [ 8 ]
060
28.08.2006, 13:26 Uhr
~chessy
Gast



C++:
#include <stdio.h>
#include <limits.h>

int main (void)
{
    long i;
    
    printf ("Wertebereich des l0ng-Typs: von %ld bis %ld \n\n", LONG_MIN,  
                                                                                                  LONG_MAX);

    printf ("Geben Sie eine Wert innerhalb dieses Bereiches ein:\n");
    scanf("%[0-9]",&i); // es wird eingelesen, bis ein Zeichen vorkommt, welches
                                           nicht in der Klammer ist
    
    printf ("Ihr Wert %d \n", i);

return 0;
}




warum funktioniert der Code nicht? Geht diese Suchmengenkonvertierung nur bei Strings?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
061
28.08.2006, 13:47 Uhr
~Blubber2063
Gast


Ich hab zwar schon ne weile kein C mehr geschrieben, aber du musst den Datentyp angeben den Scanf einlesen soll und nicht nen Bereich.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
062
28.08.2006, 14:03 Uhr
~chessy
Gast


ja eigentlich schon, aber ich hab im web gelesen, das es auch so gehen muss, zu mindest bei strings.

richtig oder falsch? geht das nur bei strings oder auch bei int / long Werten?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
063
28.08.2006, 14:21 Uhr
~Blubber2063
Gast


Also die schreibweise ist mir für strings nicht geläufig muss aber nix heissen, für andere Datentypen, musst du immer den typ angeben, sonst weiss scanf ja nicht wieviel Byte es lesen soll.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
064
28.08.2006, 14:23 Uhr
ao

(Operator)



Zitat von ~chessy:
aber ich hab im web gelesen, ...

Was hast du gelesen? Bitte Link zeigen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
065
28.08.2006, 16:32 Uhr
~chessymaster
Gast


www.pronix.de/pronix-671.html


siehe mitte und unten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
066
28.08.2006, 16:45 Uhr
Th



Dort steht aber auch, daß die Suchmengenkonvertierung nur für Strings gilt, d.h. du mußt erst alles in einen String einlesen und dann z.B. atoi oder atof aufrufen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
067
29.08.2006, 13:09 Uhr
~chessymaster
Gast


dort steht gar nichts davon, das dies nur für strings zulässig ist.
-------------------------


Beim Einlesen eines Zeichens, eines numerischen Werts oder einer Zeichenkette gelten bei der formatierten Eingabe mit Funktionen wie etwa scanf(), sscanf(), fscanf() dieselben Umwandlungszeichen wie bei printf(). Hierbei können Sie aber auch noch eine Suchmengenkonvertierung verwenden:

www.pronix.de/pronix-671.html
----------------------------

also muss es doch auch mit nem zahlenwert funktionieren, sprich int oder long
??????????????????????????????????????????????????????????????????????????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
068
29.08.2006, 13:14 Uhr
~Blubber2063
Gast


Das wird es aber niemals, die Konvertierung macht nur sinn bei Strings, es ist nunmal nötig den Datentyp zu kennen zu dem man Konvertieren will.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
069
29.08.2006, 13:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:

Diese Suchmengenkonvertierung kann durch Zeichen des Formatierungstyps s (s = String, Zeichenkette) ersetzt werden. Dabei wird die Menge von Zeichen eingeschlossen, welche sich zwischen den Klammern befindet.




Zitat:

Beachten Sie bitte, dass es sich hierbei um keine reellen Zahlen handelt, sondern um einen String. Wünschen Sie eine reelle Zahl, müssen Sie den String mit einer entsprechenden Funktion konvertieren.



Wer lesen kann ist klar im Vorteil :-)
--
class God : public ChuckNorris { };

Dieser Post wurde am 29.08.2006 um 13:33 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] > 7 < [ 8 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: