Hallo zusammen.
Ich befasse mich gerade mit dem Buch "C++ für Spieleprogrammierer", und bisher läuft es mehr oder minder gut
Nun bin ich bei Kapitel 8.5.1 und dem Listing 8.8.
Bis hier her liefen alle Codebeispiele aus dem Buch, jedoch eben dieses Listing bereitet mir etwas Sorgen.
Wenn ich das vorgegebene Listing in/mit Visual Studio kompilieren möchte (oder auch den Debugger starte),
springt mein Kaspersky instant an und wirft mir eine Bedrohungsmeldung entgegen.
Es wurde versucht, ein schädliches Objekt zu starten, das mithilfe von Kaspersky Security Network erkannt wurde:
gefunden : UDS: DangerousPattern.Multi.Generic
Ort: der Ort der gerade erstellten EXE
und löscht die frisch erstellte *.exe sofort
Visual Studio gibt mir dazu gleichzeitig:
das Programm "C:\..........File.exe" kann nicht gestartet werden.
zugriff verweigert
Durch "rumdoktorn" ( mein Wissen bezüglich C++ ist ja noch nicht wahnsinnig umfangreich ) und der Hilfe von Onkel Google, hab ich "rausgefunden", dass KIS sich wohl mit der Zeile 33 nicht so verträgt.
Ändere ich dort das
|
C-/C++-Quelltext
|
1
|
ifstream Input("Highscore.hsc",ios::binary);
|
auf "nur"
|
C-/C++-Quelltext
|
1
|
fstream Input("Highscore.hsc",ios::binary | ios::in);
|
zickt KIS nicht mehr, und greift auch nicht mehr überraschend ein.
Kann mir jemand sagen, was das Problem von KIS mit ifstream ist?
Onkel Google konnte mir da auch nicht wirklich weiterhelfen.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// C++ für Spieleprogrammierer
// Listing 8.8
// Dateien: Ein- und Ausgabe
//
#include <iostream>
#include <fstream>
using namespace std;
// Hauptprogramm
//
int main ()
{
// Variablen
//
int Highscore = 0;
// Aktuellen Highscore abfragen
cout << "Wie hoch ist der Highscore: ";
cin >> Highscore;
// Datei zum Schreiben öffnen und Highscore hineinschreiben
ofstream Output ("Highscore.hsc", ios::binary);
Output.write ((char*)&Highscore, sizeof (Highscore));
// Datei schließen
Output.close ();
// Neues Spiel, neues Glück. Highscore zurücksetzen
Highscore = 0;
// Datei zum Lesen öffnen und Highscore auslesen
ifstream Input ("Highscore.hsc", ios::binary);
Input.read ((char*)&Highscore, sizeof (Highscore));
// Datei schließen
Input.close ();
// Highscore ausgeben
cout << "Highscore aus der Datei: " << Highscore;
cout << endl;
return 0;
}
|