Announcement

Collapse
No announcement yet.

time + OutputDebugString()

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • time + OutputDebugString()

    Hallo,

    ich habe ne kurze (denke ich) Frage:

    Habe den Code auf der Seite probiert : http://www.willemer.de/informatik/cpp/timelib.htm

    Wie kriege ich jetzt den Part :

    Code:
     cout << nun->tm_mday << '.' << nun->tm_mon+1 << '.'
            << nun->tm_year+1900 << " - " << nun->tm_hour
            << ':' << nun->tm_min << endl;
    mit OutputDebugString() ausgegeben?

  • #2
    In dem du nicht streamst, sondern mit den Befehlen der Stringverarbeitung einen String zusammen setzt.
    Christian

    Comment


    • #3
      Habe es so probiert :

      Code:
      LPCWSTR test = (nun->tm_hour + ':' + nun->tm_min + ':' + nun->tm_sec);
      	OutputDebugString(test);
      Aber leider bekomme ich das :
      error C2440: 'Initialisierung': 'int' kann nicht in 'LPCWSTR' konvertiert werden

      Comment


      • #4
        Sicherlich, denn du musst erst die einzelnen Datentypen in einen String konvertieren -> itoa. In C/C++ ist eine Stringverkettung mit "+" ebenfalls nicht möglich, wenn man nicht eine entsprechende Klasse einsetzt. Im naitven C/C++ -> strcat
        Christian

        Comment


        • #5
          Habe das jetzt so probiert :

          Code:
          char test [10];
          itoa(nun->tm_hour,test,10);
          OutputDebugString(test);
          error C2664: 'OutputDebugStringW': Konvertierung des Parameters 1 von 'char [10]' in 'LPCWSTR' nicht möglich

          Comment


          • #6
            LPCWSTR ist ein wchar_t*, also kannst du keinen char nehmen -> wchar_t und dann itow verwenden.
            Christian

            Comment


            • #7
              Code:
              wchar_t test [10];
              	itoa(nun->tm_hour,test,10);
              	OutputDebugString(test);
              error C2664: '_itoa': Konvertierung des Parameters 2 von 'wchar_t [10]' in 'char *' nicht möglich

              Comment


              • #8
                Lies doch mal bitte das, was man schreibt
                Christian

                Comment


                • #9
                  Du meinst itow? Den Bezeichner findet er nicht und daher dachte ich, es wäre ein Schreibfehler...

                  Edit : _itow natürlich

                  Comment


                  • #10
                    Ich habe es jetzt so hinbekommen.
                    Code:
                    wchar_t test [10];
                    	wchar_t timetest [10];
                    	_itow(nun->tm_hour,test,10);
                    	_tcscat(timetest, test);
                    	_tcscat(timetest,_T(":"));
                    	_itow(nun->tm_min,test,10);
                    	_tcscat(timetest, test);
                    	_tcscat(timetest,_T(":"));
                    	_itow(nun->tm_sec,test,10);
                    	_tcscat(timetest, test);
                    
                    	OutputDebugString(timetest);
                    Funktionieren tut es, aber sieht sehr unschön aus wie ich finde. Kann man das noch vereinfachen bzw. zusammenfassen?

                    Comment


                    • #11
                      Nicht mit nativen C/C++..ansonsten mit einem Framework wie VCL, MFC, QT oder einer Sprache wie NET oder Java
                      Christian

                      Comment


                      • #12
                        Okay, vielen Dank.

                        Comment

                        Working...
                        X