Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Nein, weil du immer noch pszResponse ebnutzt. Schau nicht nur auf den Typ, schau auf die Beschreibung des Parameters. Ja, du brauchst da einen DWORD-Zeiger. Aber nicht irgendeinen. Du brauchst einen Zeiger auf ein DWORD, in dem drinsteht, wie groß der Puffer ist. Ich verstehe nicht, wo hier das Problem ist. Bei dwInfo hast du das doch auch hinbekommen. DWORD dwInfo = 0; TCHAR puffer[50] = _T(""); DWORD dwSize = sizeof(puffer) / sizeof(TCHAR); if( !InternetGetLastResponseInfo(&dwInfo, puffer, &dwSize) ) { // GetLastError [/code]
  2. Du hast aber keine Variable mehr, nur noch einen Zeiger. Wenn da steht "Zeiger auf eine Variable", dann legst du eine Variable an, und übergibst deren Adresse, wie es du es im ersten Code getan hast. Das Problem war doch nur, dass da kein definierter Wert drinstand. Das bekommst du, weil du (aus unerfindlichen Gründen) einen wchar_t-Zeiger draus gemacht hast. Einen eigenen Zeiger pszResponse brauchst du nicht, du kannst das Puffer-Array selbst benutzen. Und du sollst durch sizeof(TCHAR) teilen.
  3. Warum hast du aus dwLength denn jetzt einen Zeiger gemacht? Und was soll der Cast auf LPTSTR da? Und sizeof liefert die Größe in Bytes, nicht in TCHARs. Das hatten wir doch auch schon einmal, oder?
  4. Nicht wirklich. Der zweite Parameter muss ein Zeiger auf einen Puffer sein. Und der dritte muss auf eine Variable zeigen, die die Länge dieses Puffers, in TCHARs, enthält. Du übergibst aber NULL und einen Zeiger auf ein uninitialisiertes DWORD.
  5. Ich glaube nicht, dass du bei FindFile einen Pfad angeben darfst. Du musst vermutlich zuerst in das Zielverzeichnis wechseln.
  6. Du hast ein Talent dafür, wichtige Information wegzulassen, und statt dessen "..." hinzuschreiben. Was ist denn session? Ist das eine lokale Variable in Connect::Connect? Dann wird sie ungültig, wenn der Konstruktor durchgelaufen ist.
  7. Dazu empfehle ich folgende Seite: Incompatibilities Between ISO C and ISO C++ Der Standard legt nicht fest, wie bool "intern" behandelt wird. Du musst hier zwischen zwei unterschiedlichen Konvertierungen unterscheiden: Von arithmetisch/enum/pointer nach bool (4.12.1): 0/NULL ist false, alles andere true. Von bool nach int (4.5.4): false ist 0, true ist 1.
  8. Die Zeile muss eigentlich ein ASSERT enthalten. Ich nehme mal an, dass es die darüber ist. Sieht so aus, als wäre die Session deiner CFtpConnection-Instanz ungültig. Ich habe Connect::getLastConnection() im Verdacht.
  9. Kann ja nur C++ sein. bool gibt's in C nicht Der Final Draft schreibt in 4.5.4: Wohldefiniert und damit portabel ist das also. Trotzdem finde ich if( ++i;[/code] besser lesbar, vor allem auch deshalb, weil es ohne dieses Spezialwissen verständlich ist. Ein halbwegs moderner Compiler dürfte daraus sowieso denselben Code erzeugen.
  10. Da sind zwei ASSERTs drin. Welche Zeile ist 1768?
  11. Kann eigentlich nicht sein. Warnung C4129 kommt nämlich nur bei einzelnen Backslashes. Dann such mal die Datei inet.cpp in deinem Visual C++-Installationsordner, und zeig das Umfeld von Zeile 1768.
  12. Die hast du anscheinend geändert, bevor du sie hier eingestellt hast. Ich vermute, im echten Code stehen Backslashes, und zwar einzelne. Erinnere dich daran, was ich dir hier gesagt habe. Hier wäre gut zu wissen, an welcher Stelle in deinem Programm die Assertion fehlschlägt. Das kannst du mit dem Debugger rausfinden. Die Datei und Zeilennummer wären auch gut, mit "..." ist die Fehlerdiagnose immer etwas schwierig. Der Handle-Fehler ist vermutlich ein Folgefehler.
  13. Das ist niemals wahr. Der == Operator prüft bei Referenztypen nicht auf Gleichheit, sondern auf Identität, also ob die beiden Operanden auf dasselbe Objekt verweisen. Da du das eine aber gerade eben erst erzeugst, ist das immer false. Überschreibe equals für deine Bit-Klasse und benutz das. Außerdem machst du in FullAdder.add eine Zuweisung an c_in, bevor du den Wert darin verwendet hast. Der ursprünglich übergebene Parameterwert ist damit weg.
  14. Ich auch nicht - jedenfalls nicht, ohne den Code zu sehen. Üblicherweise prüft man, ob das letzte Zeichen ein Zeilenvorschub ist, und setzt es dann einfach auf '\0'.
  15. Dein puffer-Zeiger ist uninitialisiert, zeigt also irgendwo in den Speicher. Du hast fgets zwar mitgeteilt, dass der Zeiger auf einen Puffer der Größe 255 zeigt, aber das ja nun gelogen
  16. Du suchst fgets. Beachte, dass diese Funktion das Zeilenvorschubzeichen mit zurückgibt.
  17. Klotzkopp

    verschlüsselung

    Weil die Verschlüsselungsfunktion so gewählt wird, dass sie eben nicht einfach umzukehren ist. Stichwort Einwegfunktion
  18. Ich würde das mit dem Frame Window machen, nicht mit dem View Window. Siehe Frame Windows
  19. Das ist der Name eines Ordners. Jeder Ordner enthält den Unterordner "." (für den Ordner selbst) und, falls vorhanden, ".." für den übergeordneten Ordner. Die musst du einfach überspringen.
  20. Der Backslash leitet eine Escape-Sequenz ein. Um einen Backslash in einem Stringliteral unterzubringen, musst du zwei benutzten. Möglicherweise bekommst du keine Warnung, weil die "ordner" eigentlich mit einem Zeichen anfangen, das eine gültige Escape-Sequenz darstellt, z.B. n oder t. Na dann benutzt doch mal InternetGetLastResponseInfo, wie in der Fehlermeldung angegeben.
  21. Der Compiler sollte hier eine Warnung ausgeben. Die sollte man auch nicht so einfach ignorieren.
  22. Man darf in C++ bei main (und nur dort) die Return-Anweisung weglassen, das ist gleichbedeutend mit return 0;
  23. Du musst die statische Membervariable noch definieren, am besten in Connect.cpp: CFtpConnection* Connect::connection_pointer;
  24. In der zweiten printf-Zeile hängt noch so eine einsame 4 herum, die muss noch weg. Sieht aus, als hättest du den falschen Projekttyp gewählt. Du musst eine Konsolenapplikation erstellen, die VCL darfst du nicht benutzen.
  25. Dann solltest du deinem Lehrer (am besten durch die Blume) erklären, dass er einen Mischmasch aus C und veraltetem C++ lehrt. Du kannst cout nicht wie printf benutzen. Mit cout würde das so aussehen: cout << x*x*14/9-70/9*x+128/9 << "\t";

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...