secure Variante läuft nicht..
-
Hallo erstmal,
ich hoffe ich bin jetzt mit der Frage im richtigen Forum...

auf jeden fall, habe ich folgendes problem:nachdem ich jetzt auf visual studio 2013 upgegraded habe, kommt eine fehlermeldung (error, kein warning):
'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
zu folgendem quellcode:
//
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
#include "stdlib.h"
#include <string.h>#define Max_Zeichen 200
#define Min_Zeichen 20void main()
{
char cZeichenkette[Max_Zeichen];
system("color 1E");
printf_s("Los geht es!");
getchar();
FILE * file = 0;
file = fopen("beispiel.txt", "w");
printf_s(" Geben sie den Text ein: ");
scanf_s("%s", &cZeichenkette, Max_Zeichen); fflush(stdin);
fprintf_s(file, "%s", cZeichenkette);
fclose(file);
getchar();
}wenn ich jetzt ein _s zu fopen anfüge, nimmt er mir das = sowie "beispiel.txt" nichtmehr ab...
kann mir einer sagen wie ich das Problem lösen kann, bitte auch mit erklärung warum das so ist..

achso, zum programm selber: es soll simple sein, Textdatei erstellen, etwas reinschreiben lassen und dann wieder schließen.
Danke im Vorraus
The_Freak

-
Da wirst du deiner IDE wohl gesagt haben, dass Warnungen als Fehler zu behandeln sind.
Warum benutzt du überhaupt fopen in einem C++ Programm?
void main?
-
ich hab selber nichts eingestellt.. wär ja schön wenn ich das Problem einfach unter optionen ändern könnte..
ich weiß selber nicht, wollte aus meiner Prüfung eine Aufgabe
jetzt ohne Zeitdruck bewältigen.. bei Verbesserungsvorschlägen wäre ich dankbar.. komme jetzt erst ins 2. semester und bin so gesehen noch ein "Anfänger"
-
Wichtig fürs Studium ist es immer das allmächtige Google Orakel befragen zu können: http://lmgtfy.com/?q=fopen_s
-->
FILE* file = 0; file = fopen("beispiel.txt", "w"); // --> FILE* file = nullptr; if (fopen_s(&file, "beispiel.txt", "w") != 0) { std::cout << "Konnte Ausgabedatei nicht öffnen!\n"; return 0; }
-
aaaah, super danke!
fopen_s(&file, "beispiel.txt", "w");
printf_s(" Geben sie den Text ein: ");
scanf_s("%s", &cZeichenkette, Max_Zeichen); fflush(stdin);
fprintf_s(file, "%s", cZeichenkette);bedeutet jetzt, dass das file erstellt wird und darin jetzt der eingegeben text steht?
(oder muss das file schon vorher vorhanden sein?)ich habe vorher schon gegooglet, nichts gefunden - was ich sofort verstanden hätte.. aber wozu gibts sonst so ein forum?
trotzdem, danke für den tipp :p 
-
Die Frage habe ich mir selber beantworten können, war genau so richtig.
Vllt noch eine andere Frage, wie kann ich ein .txt Dokument denn ausserhalb des Projektordners speichern? z.B. auf dem Desktop?

-
Schau mal hier: http://de.wikipedia.org/wiki/Dateiname
Stichwort: Verzeichnisnamen