Neue Antwort erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

Informationen
Sicherheitsabfrage („reCAPTCHA“)
Nachricht
Maximale Anzahl an Dateianhängen: 10
Maximale Dateigröße: 1 MB
Erlaubte Dateiendungen: bmp, gif, jpeg, jpg, pdf, png, txt, zip
Internet-Adressen werden automatisch erkannt und umgewandelt.
Smiley-Code wird in Ihrer Nachricht automatisch als Smiley-Grafik dargestellt.
Sie können BBCodes zur Formatierung Ihrer Nachricht nutzen.

Vorherige Beiträge 9

  • zeichen = code;
    weißt dem wchar_t wert zeichen den intwert von code zu, welcher per kommandozeilenparameter eingelesen wurde
    code = zeichen; reduziert den intwert von code auf den von zeichen, falls zeichen überläuft (eigendlich nur bei char, nich bei wchar_t relevant)
  • ok, mom
    also das hab ich atm

    C-Quellcode

    1. #include <iostream>
    2. #include <iomanip>
    3. #include <cstdlib>
    4. #define PAUSE cin.sync();cin.clear();cin.get();
    5. using namespace std;
    6. int einlesen();
    7. int main(int argc, char* argv[]) {
    8. unsigned int code = 0;
    9. unsigned wchar_t zeichen = 0;
    10. switch (argc) { // Bei keinem übergebenen Parameter einen Parameter
    11. case 1: code = einlesen(); // einlesen, bei 2 Parametern Fehlermeldung
    12. break;
    13. case 2: code = atoi (argv[1]); // String in Int umwandeln (ENDLICH)
    14. break;
    15. }
    16. zeichen = code;
    17. code = zeichen;
    18. cout << "Sie haben folgenden Zeichencode eingegeben: " << code << endl;
    19. cout << "Dieser entspricht diesem Unicode Zeichen: ";
    20. cout.put(zeichen);
    21. cout << endl << "bzw diesem HEX Wert: " << hex << uppercase << code << endl
    22. << "bzw diesem Octal Wert: " << oct << code << endl;
    23. return 0;
    24. }
    25. int einlesen() {
    26. int zahl;
    27. cout << "Bitte einen Zeichencode eingeben: ";
    28. cin >> zahl;
    29. return zahl;
    30. }
    Alles anzeigen
  • soweit war ich inzwischen in der schule und so auch schon gekommen, allerdings ergibt sich nun ein folgendes problem?
    wie gebe ich das zeichen aus?
    also für zeichen unter 256 gehts
    aber danach gibt aber zeichen 306 wird z.b. als das selbe zeichen wie 56 ausgeben, nämlich als 2
    obwohl ich als datentyp ein wchar_t habe und utf-8 als systemzeichensatz
    cout.put(zeichen) mag auch net so wirklich :/
  • lies dir nochma das beispiel durch das bei dem link von Knolle zu finden ist:

    C-Quellcode

    1. /* atoi example */
    2. #include <stdio.h>
    3. #include <stdlib.h>
    4. int main ()
    5. {
    6. int i;
    7. char szInput [256];
    8. printf ("Enter a number: ");
    9. gets ( szInput );
    10. i = atoi (szInput);
    11. printf ("Value entered is %d, and its double %d",i,i*2);
    12. return 0;
    13. }
    Alles anzeigen




    um deinen code mal ein wenig anzupassen:

    C-Quellcode

    1. #include <iostream>
    2. #include <iomanip>
    3. #include <cstdlib>
    4. // eventuell musst du die noch mit einbinden kann aber sein das die cstdlib reicht...
    5. // bin mir da grad nich so sicher...
    6. #include <stdlib.h>
    7. using namespace std;
    8. int main(int argc, wchar_t *argv[])
    9. {
    10. // die umwandlung von argv[1] in "int"
    11. int code;
    12. code = atoi(argv[1]);
    13. // den rest hmm naja lass ich mal unverändert..
    14. wchar_t zeichen;
    15. zeichen = code;
    16. code = zeichen;
    17. cout << "Sie haben folgenden Zeichencode eingegeben: " << code << endl;
    18. cout << "Dieser entspricht diesem Unicode Zeichen: " << zeichen << endl
    19. << "bzw diesem HEX Wert: " << hex << uppercase << code << endl
    20. << "bzw diesem Octal Wert: " << oct << code << endl;
    21. return 0;
    22. }
    Alles anzeigen
  • danke, allerdings hab ich nun ein prob, es geht net so wie ich es mir vorstelle, event habsch aber auch nur nen dicken denkfehler in meinem code

    maddin@omega:~/development/cpp/uebungen$ g++ -o zeichencode zeichencode.cc
    zeichencode.cc: In function `int main(int, wchar_t**)':
    zeichencode.cc:10: error: invalid conversion from `wchar_t*' to `int'

    C-Quellcode

    1. #include <iostream>
    2. #include <iomanip>
    3. #include <cstdlib>
    4. using namespace std;
    5. int main(int argc, wchar_t *argv[]) {
    6. int atoi (const wchar_t* argv[1]);
    7. int code;
    8. wchar_t zeichen;
    9. code = argv[1];
    10. zeichen = code;
    11. code = zeichen;
    12. cout << "Sie haben folgenden Zeichencode eingegeben: " << code << endl;
    13. cout << "Dieser entspricht diesem Unicode Zeichen: " << zeichen << endl
    14. << "bzw diesem HEX Wert: " << hex << uppercase << code << endl
    15. << "bzw diesem Octal Wert: " << oct << code << endl;
    16. return 0;
    17. }
    Alles anzeigen


    hat jemand ne idee?

    nachtrag: sieht ganz danach aus das das garkein normaler string is, aber was is char* bzw wchar_t* dann?
    und wie kann man es umwandeln? *fragenüberfragen*
  • C++ Problem: Wie konvertiere ich einen String in eine Zahl?

    Three of Five

    jo, siehe topic
    wie geht das von statten, gibts da schon ne vorgefertigte funktion wie z.b. unter delphi?
    da ich beim programmaufruf irgendwie nur strings mit übergeben kann
    int main (int argc, char *argv[]) {
    argv[x] is dann immer ein wort
    und ich wollte dort halt ne zahl übergeben
    und wenn ich da aber nur ein wort, also nen string bekomm, muss ich den zum rechnen und so ja umwandeln
    gibts da also schon was fertiges oder darf ich mir da selber eine headerdatei bzw ne funktion erbrühten die das leistet?

    für diese bräuchte ich dann wohl auch noch ein paar vorschläge, wie das am dümmsten zu lösen wäre

    mfg, martin