Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Du kannst fgets benutzen, das liest das '\n' mit ein. Ein weiterer Vorteil: Du kannst die Puffergröße angeben und damit Überläufe verhindern. Allerdings musst du dann selbst die gewünschten Inhalte aus dem Puffer auslesen, den dir fgets füllt. Das könnte dann so aussehen: char buf[500]; char szSatz[255], cZeichen; int iLen; printf("Geben sie einen Satz ein:\n"); fgets(buf, 499, stdin ); strncpy( szSatz, buf, 254 ); szSatz[254] = '\0'; printf("Geben sie einen Buchstaben ein:\n"); fgets(buf, 499, stdin); cZeichen = buf[0]; [/CODE]
  2. Du schreibst das K groß
  3. Das passiert automatisch. Der Speicher für Stringliterale wird schon zur Compilezeit berücksichtigt. Guybrush Threepwood hat dir zwei Beispiele gegeben, die beide ihren Zweck erfüllen. Wenn C++ in Frage kommt, kannst du auch std::stringstream verwenden. Je nach verwendeter Entwicklungsumgebungen kann es noch weitere Lösungen geben, z.B. CString::Format bei MFC. Du hast praktisch die freie Auswahl .
  4. Doch, das ist in Ordnung. Stringliterale kann man ohne Probleme einem const char* zuweisen. Man darf nur auf keinen Fall schreibend auf diesen String zugreifen. Man kann sogar einem char* (also ohne const) ein Stringliteral zuweisen. Das hat aber nur historische Gründe, man sollte es also nicht machen.
  5. SIM ist ein OpenSource-ICQ-Client. Vielleicht kannst du aus dem Code was abgucken: http://sim-icq.sourceforge.net/
  6. Die einfachste Methode ist wahrscheinlich, die beiden Zahlen bitweise exklusiv-oder zu verknüpfen. Werden denn besondere Anforderungen an die dritte Zahl gestellt?
  7. Da kannst du mit Strg-B auf dem Reiter "Data" solche Breakpoints setzen. Gib als Ausdruck deinen Zeiger an, und als Länge 4.
  8. Nur am Rande: Da delete bei einem Nullzeiger nichts bewirkt, kannst du dir das if sparen. Zum eigentlichen Problem: Hat die Klasse noch andere Member, womöglich Arrays? Du könntest auch einen Watchpoint auf den Zeiger setzen, so dass dein Programm beim Debuggen anhält, sobald der Zeiger verändert wird. Ob und wie das geht, hängt vom benutzten Debugger ab.
  9. Wenn zweimal hintereinander Null kommt, musst du aufhören. Das ist die Ende-Markierung.
  10. Jeder, der "Outlook Express Regeln" in die Suchfunktion eingibt und diesen Thread findet. Bitte.
  11. Dafür hättest du kein neues Thema eröffnen müssen, ich führ das mal zusammen. Was ist das denn für ein Feld, und wie sieht die Zuweisung aus?
  12. Wäre gut, wenn du noch verrätst, wie die lautet.
  13. In C++ muss der op= nichtstatischer Member sein. In C# kannst du den op= nicht überladen. Siehe auch hier.
  14. Weil dann beide Operanden als Parameter auftauchen, und damit beide gegebenenfalls umgewandelt werden können. Ein nichtstatischer Member-Op+ hätte ja nur einen Parameter. In C++ wäre ein Op+ sinnvollerweise eine globale Funktion. Und da du in C# keine globalen Funktionen haben kannst, bleibt dir nichts anderes übrig.
  15. Soweit ich weiß, sind nur bestimmte Operator statisch. Die Zuweisungsoperatoren, z.B. operator+= sind immer nichtstatisch. Das hat auch seinen Sinn. Wenn man operator+ z.B. als Member deklarieren würde, wären automatische Umwandlungen nur mit dem zweiten Operanden möglich. Angenommen, du hast eine Klasse SuperInt, die beliebig große Ganzzahlen verarbeiten kann. Die Klasse hat einen Copy-Ctor für int, damit geht folgendes: SuperInt s( 5 ); SuperInt t = s + 2; Aber folgendes geht nicht, weil der erste Operand bei einem Member-Op immer ein SuperInt sein muss: SuperInt u = 2 + s; Darum würde man in C++ den operator+ außerhalb der Klasse deklarieren. In C# macht man das mit statischen Ops. Finde ich übrigens sehr sinnvoll.
  16. So kann man das nicht sagen. In Standard-C/C++ gibt es tatsächlich keine Möglichkeit, eine grafische Ausgabe zu erzeugen. Das geht immer nur mit zusätzlichen, meist plattformspezifischen Bibliotheken, z.B. DirectX für Windows.
  17. Du musst das neue Handle an TrayIcon.hIcon zuweisen. Außerdem musst du noch Shell_NotifyIcon mit NIM_MODIFY aufrufen.
  18. Hier geht's gleich rund... (E-Fulerum)
  19. Mein Büro liegt im Keller...
  20. Nein, nicht ok. Wenn du Zugriff auf diese Seiten benötigst, dann kläre das mit deinem Vorgesetzten oder dem Firewall-Administrator. Das Umgehen einer Firewall kann eine fristlose Kündigung nach sich ziehen.
  21. Hier gibt es unter anderem zwei Shareware-Versionen: http://boardgamecentral.com/games/go.html
  22. Ist bei Windows 95 schon der Internet Explorer 4.0 dabei? Der ist nämlich laut MSDN Voraussetzung.
  23. Zum Auslesen: Folgendes Beispiel liest zwei longs aus einer Tabelle: const char* pszQuery = "SELECT * FROM Table"; SQLHSTMT hstatement; if( RetCodeSuccess( SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstatement) ) ) { long int long1 = 0, long2 = 0; long len; if( RetCodeSuccess( SQLExecDirect( hstatement, (SQLCHAR*) pszQuery, SQL_NTS ) ) ) { SQLBindCol( hstatement, 1, SQL_C_SLONG, (SQLPOINTER) &long1, 4, &len ); SQLBindCol( hstatement, 2, SQL_C_SLONG, (SQLPOINTER) &long2, 4, &len ); SQLINTEGER nResultRows; SQLRowCount( hstatement, &nResultRows ); if( nResultRows != 0 ) { if( RetCodeSuccess( SQLFetch( hstatement ) ) ) { // Auswerten... } } } SQLFreeHandle( SQL_HANDLE_STMT, hstatement ); } [/CODE] Durch wiederholtes Aufrufen von SQLFetch kann man weitere Datensätze auslesen. RetCodeSuccess ist übrigens eine Hilfsfunktion, die ich mir selbst geschrieben habe:[CODE]bool RetCodeSuccess( int nRetcode ) { return nRetcode == SQL_SUCCESS || nRetcode == SQL_SUCCESS_WITH_INFO; }Macht den Code erheblich übersichtlicher.
  24. Zum Ausgeben: Du musst die Nachricht WM_PAINT behandeln. Zuerst rufst du BeginPaint auf, dadurch erhältst du ein Handle auf einen Device Context (DC). In diesen kannst du dann reinmalen oder schreiben, z.B. mit DrawText. Am Ende musst du EndPaint aufrufen.
  25. LOGFONT lf; m_pFont->GetLogFont( &lf ); CFontDialog dlg; dlg.m_cf.lpLogFont = &lf; dlg.m_cf.Flags |= CF_FIXEDPITCHONLY | CF_INITTOLOGFONTSTRUCT ; dlg.DoModal(); [/CODE]CFontDialog enthält eine CHOOSEFONT-Struktur (m_cf), die wiederum einen Zeiger auf eine LOGFONT-Struktur enthält. Aus deinem CFont kannst du dir eine solche Struktur füllen lassen (GetLogFont). Über die Flags wird das Verhalten des Dialogs gesteuert. CF_FIXEDPITCHONLY bedeutet, dass nur Festbreitenschriftarten angezeit werden, CF_INITTOLOGFONTSTRUCT bedeutet, dass der Dialog mit den Daten aus der LOGFONT-Struktur initialisiert wird. Es gibt noch weitere nützliche Flags, die du in der MSDN unter CHOOSEFONT Structure finden kannst.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...