Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Nein. Das ist zwar syntaktisch richtig, aber der Kommaoperator, der hier zum Einsatz kommt, macht nicht das, was du möchtest. Wenn du mehrere Bedingungen prüfen willst, musst du sie mit den Booleschen Operatoren verknüpfen: if(Eingabe!='w' && Eingabe !='m')
  2. Du solltest nicht "explizit" in den Code schreiben Hast du "Alles neu erstellen" gemacht? #include "stdafx.h" (nicht <stdafx.h>) als erste Zeile (das heißt, dass das Pragma nicht in der ersten Zeile stehen soll). Und dass der Compiler die Datei stdafx.h nicht findet, kann nicht sein, es sei denn, du hast sie zwischenzeitlich gelöscht. In dem hochgeladenen Archiv war sie jedenfalls noch drin.
  3. Du läufst über den next-Zeiger von Eintrag zu Eintrag. Das wäre ja auch nicht falsch, wenn denn in der Liste irgendwas drin wäre. Mag ja sein, aber du tust es leider nicht. Statt dessen versuchst du, mit fprintf in die Datei zu schreiben.
  4. Weil du dich durch eine verkette Liste hangelst, in der nichts drin steht. Und weil du nicht aus der Datei liest, sondern in die Datei schreibst.
  5. Das kann nicht sein, weil sich der Compiler immer noch über PlaySoundW beklagt. Zeig mal den Code.
  6. Die ersten Fehler solltest du durch "Alles neu erstellen" / "Rebuild All" beseitigen können. Die anderen deuten darauf hin, dass du nicht alles umgesetzt hast, was ich geschrieben hatte. Welches dieser drei: -in den Projekteinstellungen von Unicode auf Multi-Byte stellen -vor die Stringparameter von PlaySound ein L stellen -statt PlaySound explizit PlaySoundA benutzen hast du denn gemacht?
  7. Ist das dieselbe Aufgabe, zu der du schon zwei Threads aufgemacht hast? Dann ist das so Unsinn. Du sollst den Inhalt einer Datei auslesen, und daraus eine verkette Liste aufbauen.
  8. Was soll denn ein "unsichtbarer Zähler" sein? Um die int-Variable x um (beispielsweise) 5 zu erhöhen, kannst du folgenden Code benutzen: x+=5;
  9. Ich vermute, da fehlt ein globales CWinApp-Objekt.
  10. Ordentlich nullterminiert wird er dann auch nicht mehr sein. @wulfgang: Im Programmordner von Visual C++ solltest du eine Datei namens afxwin1.inl finden. Bei der Fehlermeldung steht auch eine Zeilennummer dabei. Zeig bitte mal, was da steht.
  11. Der Cast sieht verdächtig aus. Was passiert, wenn du hier nicht castest? Und bitte benutz beim nächsten Mal Code-Tags.
  12. Solange du das Programm gar nicht mehr neu erstellen kannst, ist es egal, was irgendeine alte Version macht, die noch im Debug-Ordner rumliegt. Wenn dein Projekt nicht gebaut werden kann, wird sich daran nichts ändern. Am Code ist eigentlich gar nicht viel falsch. Du hast in den Projekteinstellungen die Verwendung vorkompilierter Header und Unicode aktiviert, bzw. das ist die Vorgabe, wenn du kein leeres Projekt erstellst. Wegen der vorkompilierten Header musst du entweder die Projekteinstellungen ändern oder als erste Zeile #include "stdafx.h" in deinen Code schreiben. Außerdem musst du eines dieser drei machen:in den Projekteinstellungen von Unicode auf Multi-Byte stellen vor die Stringparameter von PlaySound ein L stellen statt PlaySound explizit PlaySoundA benutzen Und schließlich musst du noch entweder in den Linkereinstellungen winmm.lib angeben, oder das in den Code schreiben: #pragma comment( lib, "winmm.lib" ) Dann sollte das laufen.
  13. Das Programm in dem Archiv wurde zwar mit Visual C++ 2008 erstellt, aber nicht aus diesem Quellcode. Es tut bei mir gar nichts, sondern beendet sich gleich wieder. Insbesondere benutzt dieses Programm nicht PlaySound, weil es nicht von WINMM.DLL abhängt. Der Quellcode hingegen ist mit diesen Projekteinstellungen gar nicht kompilierbar. Wenn man die Fehler behebt (vorkompilierte Header, fehlende Library, Wide Character Strings für PlaySound), lässt sich das Programm kompilieren. Wenn man dann noch die Sounddateien ins passende Verzeichnis steckt, funktioniert es. Woher bei dir die Fehlermeldung beim Ausführen kommt, kann ich mir nicht erklären. Ich fürchte aber, an deinem System ist etwas vermurkst.
  14. Ich verstehe nicht, warum da das 16-Bit-Subsystem angeworfen wird. Weder die Eingabeaufforderung (cmd.exe) noch dein Programm sind 16 Bit. Visual C++ 2008 kann gar keine 16-Bit-Programme erstellen. Durchsuch bitte mal alle Festplatten nach einer Datei names cmd.com.
  15. Hast du in C:\Windows\system32 eine Datei namens CMD.COM? Wenn ja, hast du dir einen Trojaner eingefangen.
  16. .NET ? Wikipedia .NET ist eine Softwareplattform von Microsoft, mit mehreren Programmiersprachen. Es gibt darunter eine, die zwar auf C++ aufbaut. Aber man programmiert darin völlig anders als in "reinem" C++ (ohne .NET).
  17. Diese DLL ist aber für .NET, nicht für (native) C++. Moment mal, möchtest du jetzt die Klasse aus dieser DLL benutzen, oder möchtest du eine eigene erstellen?
  18. Klotzkopp

    Datenstrukturen

    Im alten C-Standard (von 1990) darf man den Typ bei der Deklaration einer Variablen, eines Funktionsarguments oder eines Strukturmembers weglassen. Der Typ ist dann implizit int. Im neuesten C-Standard ist das nicht mehr erlaubt.
  19. Schreib doch bitte, wie die Fehlermeldung wirklich lautet.
  20. So lautet die Fehlermeldung bestimmt nicht. Ein wenig mehr Sorgfalt wäre hier angebracht. Die Methode hat 21 Parameter. Du gibst nur 20 an, der comment-Parameter, ein String, fehlt. Das zusätzliche Komma am Ende ist auch nicht in Ordnung.
  21. Vista? http://blogs.msdn.com/doronh/archive/2006/11/14/where-did-my-debug-output-go-in-vista.aspx
  22. Der Treiber hat keine Konsole, in der deine printfs landen könnten. DbgPrint
  23. Dsa dürfte weniger von der IDE als vom eingesetzten Compiler abhängen. Hier ein paar mögliche Hinweise: Predefined Macros - The C Preprocessor Predefined Macros (C/C++)
  24. Die Verwendung eines Hash ist aus Performance-Sicht weder grundsätzlich gut noch grundsätzlich schlecht. Um einen Hash überhaupt zu erstellen, müssen die Dateien komplett eingelesen werden. Das sollte also überhaupt nur dann erfolgen, wenn andere, schneller zu prüfende Kriterien (z.B. Dateigröße) eine mögliche Übereinstimmung ergeben. Aber selbst dann ist ein Hash nicht unbedingt angebracht. Wenn man z.B. nur zwei Kandidaten für eine Übereinstimmung hat, ist es wesentlich effizienter, einfach nur beide Dateien einzulesen und beim ersten gefundenen Unterschied abzubrechen. Man darf auch nicht vergessen, dass ein gleicher Hash nicht automatisch bedeutet, dass der Dateiinhalt gleich ist. Wenn man also Hashes benutzt, und dabei Duplikate findet, muss man diese Dateien dann nochmal auf "konventionelle" Weise vergleichen. Wenn man natürlich Hashinformationen bereits vorliegen hat, sei es aus dem Dateisystem oder aus der Datei selbst, sollte man diese auch benutzen. Aber auch hier muss man zuletzt immer noch Byte für Byte vergleichen.
  25. Der Thread ist hier richtig. VB 2008 mag nicht mehr .NET im Namen tragen, aber es baut immer noch auf dem .NET-Framework auf. Von VB6 (dem letzten ohne .NET) ist es jedenfalls meilenweit entfernt.

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