-
Gesamte Inhalte
9912 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
3
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Klotzkopp
-
Wenn es dir nicht darum geht, mit den "Zahlen" auch zu rechnen, dann steck sie einfach in ein char-Array, und gib das Zeichen für Zeichen aus: #include <iostream> using namespace std; int main() { char werte[] = "0123456789abcdef"; // bei Bedarf länger for( size_t i = 0; i < sizeof( werte ) - 1; ++i ) { cout << werte[i] << '\n'; } }[/code] Das -1 bei der Schleifenbedingung hat den Grund, dass Stringliterale automatisch nullterminiert werden. Darum ist die Größe, die sizeof liefert, um 1 größer als die Anzahl der Zeichen im Array.
-
Nimm statt char std::string. Dafür brauchst du noch #include <string> iostreeam.h ist übrigens falsch, das .h muss weg. Dafür liegen cin und cout im Namespace std, d.h. entweder schreibst du jeweils std:: vor jedes cin oder cout, oder du verwendest eine using-Direktive: using namespace std; (vor deiner main-Funktion)
-
Und was ist jetzt das Problem? Was hoffst du zu erreichen, wenn du den "char speicher erhöhst"?
-
Wieviel Speicher allokiert denn so ein SSharedMem-Objekt?
-
Ich sehe das ähnlich wie Guybrush Threepwood. Sobald du durch Zugriffe über Speicherbereichsgrenzen hinweg undefiniertes Verhalten auslöst, kann alles passieren. Da erübrigen sich Fragen nach dem "warum".
-
Zum Beispiel CP/M oder MS-DOS. Bei aktuellen Betriebssystemen wird genau das, was du da vorhast, verhindert, um die gegenseitige Beeinflussung von Prozessen durch Fehler oder Schadprogramme zu vermeiden. Ich empfehle, einen dafür vorgesehen Kanal zur Interprozesskommunikation zu benutzen.
-
Sockets überwachen
Klotzkopp antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Das geht nicht wirklich. Das fremde Sockethandle ist in deinem Prozess sowieso nicht gültig, und selbst wenn es das wäre, ist nicht sichergestellt, dass du an die Daten kommst, bevor die Anwendung selbst sie abholt. Unter Vista könntest du WFP benutzen, aber bei älteren Versionen könnte das eklig werden. Wie wäre es denn mit WinPcap? -
Run-Time Dynamic Linking & NTQuerySystemInformation
Klotzkopp antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Das hat mit Runtime Dynamic Linking erst mal nichts zu tun. Die Calling Convention ist Teil des Funktionszeigertyps: typedef NTSTATUS (__stdcall *NTQUERYSYSTEMINFORMATION)(SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG); Vermutlich ist in deinem Project __stdcall nicht die Default-Calling-Convention. -
Du hast hier zwei Probleme: 1) Der Vergleich einer lokalen Datei mit einer Datei im Web. 2) Die Sperrungs des Zugriffs auf die Datei für alle außer dein Programm. Die beiden Probleme sind voneinander unabhängig. Das zweite Problem ist zudem kein Programmierproblem. Das ist nichts, was du mit C++ lösen kannst. Du kannst nur in deinem Programm die Zugriffsmethode umsetzen. Das erste Problem kannst du zerlegen in 1a) Zugriff auf eine lokale Datei 1b) Zugriff auf eine Datei im Web 1c) Vergleich 1a kannst du mit den C++-Filestreams lösen. 1b hängt davon ab, wie du den Schutz für 2 umgesetzt hast, aber eine betriebssystemspezifische API wirst du wohl brauchen, wenn du nicht direkt mit Sockets arbeiten willst. 1c ist schließlich nur noch Stringverarbeitung.
-
Interrupt "Neuer Ordner wurde erstellt!"?
Klotzkopp antwortete auf Freigeist's Thema in C++: Compiler, IDEs, APIs
Ich würde davon ausgehen, dass Mark Russinovich wusste, was er tat, als er FileMon geschrieben hat, und etwas ähnliches versuchen. Immerhin steht da grob beschrieben, wie das Programm funktioniert. Es könnte aber sein, dass du für Vista einen anderen Ansatz brauchst. Leider steht beim Process Monitor gar nicht, wie er funktioniert. Ins Sysinternals-Forum würde ich auch mal reinschauen. -
Interrupt "Neuer Ordner wurde erstellt!"?
Klotzkopp antwortete auf Freigeist's Thema in C++: Compiler, IDEs, APIs
Dann bist du IMHO mit allen genannten Ansätzen komplett auf dem falschen Dampfer. Dir muss klar sein, dass du innerhalb eines Dateisystemfiltertreibers z.B. nicht die normalen Windows-Datei-APIs benutzen kannst. Du kannst also nicht so einfach die Dateioperationen "duplizieren". Für mich klingt das eher so, als ob du ein Software-RAID 1 suchst. Im IFS Kit sind doch Samples drin. Ist da nichts für dich dabei? -
Interrupt "Neuer Ordner wurde erstellt!"?
Klotzkopp antwortete auf Freigeist's Thema in C++: Compiler, IDEs, APIs
Dann bist du hier im falschen Forum. Ich verschiebe deinen Thread mal an die richtige Stelle "Interrupt" ist hier das falsche Stichwort, davon spricht man unter Windows eigentlich nur bei Hardwarezugriffen im Kernelmode. Ich hätte da vier Ansätze: 1) File System Filter Driver 2) Hooking der zugehörigen API-Funktionen (CreateDirectory, CreateDirectoryEx usw.) 3) ReadDirectoryChangesW (obwohl das für ganze Volumes wohl nicht angebracht ist) 4) Zugriff aufs Change Journal (falls es um NTFS geht) Alles Ansätzen ist gemein, dass du nicht vorab nach dem erstellenden Programm filtern kannst. Wenn dir das wichtig ist, kannst du dich ja nochmal melden. -
Integrated Development Environment, zu deutsch integrierte Entwicklungsumgebung. Das Programm, das du benutzt, um deine C++-Programme zu schreiben und zu kompilieren. In C++ selbst gibt's nämlich keine Symbolleisten, das ist "nur" eine Programmiersprache. Es kommt also darauf an, welche Entwicklungsumgebung du benutzt, denn davon gibt es mehrere, und deren Bedienung ist natürlich nicht einheitlich. Bevor wir dir also sagen können, wie du an deine Symbolleisten kommst, musst du uns sagen, welche IDE du verwendest.
-
Damit bist du hier an der falschen Adresse. Der Weg vom Scherzprogramm zum Schadprogramm ist nicht weit, daher wirst du hier keine Anleitung finden.
-
Willst du mehrere Strings alphabetisch sortieren, oder willst du die einzelnen Zeichen in einem einzigen String sortieren? So, wie dein Code aussieht, vermischst du beides. Wenn du die einzelnen Zeichen sortieren willst, darfst du nicht die Stringfunktionen (strcmp, strcpy) benutzen, weil die mit Zeichenketten arbeiten. Wenn du ganze Strings sortieren willst, solltest du mehr als einen haben Abgesehen davon musst du j innerhalb der while-Schleife zurücksetzen. P.S.: Das \0 in deinem Stringliteral ist überflüssig. Stringliterale werden automatisch nullterminiert.
-
:confused: Was ich damit sagen wollte: "Geht nicht" ist nicht besonders gut dazu geeignet, zu erkennen, was du falsch gemacht hast. Da muss du schon ein wenig genauer werden.
-
Siehe meine Signatur
-
Weil deine Schleife in der Funktion sortarray zu weit läuft. Deine Variable i läuft bis einschließlich vier, das heißt, du vergleichst a[4] mit a[5]. a[5] gibt es aber gar nicht -> Undefiniertes Verhalten.
-
zeichenprogramm mit borland c++
Klotzkopp antwortete auf schmat's Thema in C++: Compiler, IDEs, APIs
Am Ende der class-Definition von CCircle fehlt das Semikolon. Vermutlich hast du bei CGeometricObj denselben Fehler gemacht. -
Das beschriebene Verhalten ist völlig normal und auch so beabsichtigt, "Behaviour by Design", wie man so schön sagt. GetSystemTime liefert dir also die Zeit in UTC. Wenn du Zeit entsprechend deiner lokalen Zeitzone haben willst, nimm GetLocalTIme.
-
zeichenprogramm mit borland c++
Klotzkopp antwortete auf schmat's Thema in C++: Compiler, IDEs, APIs
Hallo schmat, und Willkommen auf dem Board Wenn du hier Hilfe suchst, solltest du dein Problem schon ein wenig genauer beschreiben. Ein einfaches reicht jedenfalls als Problembeschreibung nicht aus. Damit erweckst du nur den Eindruck, dass du jemanden suchst, der deine Arbeit macht. Also, wo genau ist das Problem? -
Berechnung von Punkten in einem Koordinatensystem
Klotzkopp antwortete auf Guybrush Threepwood's Thema in Algorithmik
Im einen Fall berechnest du X aus dem Sinus und Z aus dem Cosinus, im anderen Fall andersherum. Da solltest du dich schon auf eines festlegen Und warum teilst du durch 359? :confused: -
Das ist nicht genau genug beschrieben. Was heißt "die Stücke sollen möglichst klein sein"? Soll die durschnittliche Länge der Stücke minimiert werden? Oder die Länge des kürzesten Stücks, oder des längsten? Oder etwas ganz anderes? Ist 5 - 1 - 1 - 1 "besser" als 2 - 2 - 2 - 2?
-
Ich weiß nicht genau, welche Szene du meinst, aber vermutlich meinst du: "We're on a mission from God." Das sagt Elwood mehrfach.
-
C++: Byte aus einem Bytearray zusammensetzen.
Klotzkopp antwortete auf Pointerman's Thema in C und C++
Ja. Eigenartigerweise ist beim MSVC++ 8 der zweite Parameter von std::bitset::set bool, nicht int. Laut Standard müsste es aber int sein. Wobei auch der Standard da nicht ganz eindeutig ist. In der Auflistung der Member steht als Defaultwert true, in der Detailbeschreibung steht 1. Wenn das bitset standardkonform ist, ist das != 0 im Code überflüssig.