2016-08-05 8 views
0

So neu Ich bin in der Programmierung und ich bin nach einem Tutorial und ich habe fstream, aber ich weiß nicht, ob mein Compiler weirdly handelt oder ich fehle eine Datei oder etwas, aber die .open-Funktion scheint nicht zu funktionieren und fstream verhält sich seltsam. (Wie Sie nicht verwenden können (ostreamobject) ("test.txt"); Ich bin neu in der Programmierung, also bitte nicht technische Fachbegriffe.Ostream .open Funktion nicht vorhanden (C++)

Ich habe ein wenig gesucht, aber ich habe nichts gefunden.

Ich weiß nicht, was ist falsch mit meinem Code oder meinem Compiler, aber outputFile.open existiert nicht sonderlich genug.Ich verwende Visual Studio 2015. Dies ist eine kleine Menge von Code, den ich geschrieben habe und es kommt noch mit einem . Fehler Hier ist der Code:

#include "stdafx.h" 
#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

int main() 
{ 
ostream oFile; 
istream iFile; 

oFile.open("test.txt"); 

    return 0; 
} 

Hier ist der Fehlercodes:

1> d: \ d okument \ Visual Studio 2015 \ projects \ fstream \ fstream \ fstream.cpp (13): Fehler C2512: 'std :: basic_ostream>': kein geeigneter Standardkonstruktor verfügbar 1> d: \ Programme \ vc \ include \ iosfwd (679): Hinweis: siehe Deklaration von 'std :: basic_ostream>' 1> d: \ dokument \ visual studio 2015 \ projekte \ fstream \ fstream \ fstream.cpp (14): fehler C2512: 'std :: basic_istream>': kein geeigneter Standardkonstruktor verfügbar 1> d: \ Programme \ vc \ include \ iosfwd (678): Hinweis: siehe Deklaration von 'std :: basic_istream>' 1> d: \ dokument \ Visual Studio 2015 \ projects \ fstream \ fstream \ fstream.cpp (16): Fehler C2039: 'open': ist kein Mitglied von 'std :: basic_ostream' ' 1> d: \ programmering \ vc \ include \ iosfwd (679): Hinweis: siehe Deklaration von 'std :: basic_ostream>' ========== Build: 0 erfolgreich, 1 fehlgeschlagen, 0 aktuell, 0 übersprungen ==========

Antwort

0

Sie können oFile und iFile als konkrete Dateien deklarieren.

ofstream oFile; 
ifstream iFile; 
1

Nun, es nicht existieren. Es gibt keinen ostream-Konstruktor, der einen Dateinamen annimmt.

Sie bedeutete ofstream.

Sie könnten dies ausgecheckt, indem einfach die Dokumentation zu besuchen.

Wenn Ihr Tutorial wirklich ostream sagt, sagen uns, was es ist, und es nicht mehr verwenden.
Sie sollten lernen C++ von a good book, nicht von zufälligen "Tuts" im Internet.

2

Das Problem ist, dass Sie "Ostream" und "istream" statt "o f Strom" und "i f stream" (man beachte die "f" für "f ile verwenden ").

Mit dieser Version:

#include "stdafx.h" 
// #include <iostream> // you don't need this and it caused most of your confusion! 
#include <fstream> 
#include <string> 

using namespace std; 

int main() 
{ 
    ofstream oFile; 
    ifstream iFile; 

    oFile.open("test.txt"); 

    return 0; 
} 

FYI: "ofstream" und "ifstream" sind beide Super von "Ostream" und "istream". Sie bieten weitere Funktionen (wie "Öffnen") für die Interaktion mit Dateien

+0

Vielen Dank, ich bin klobig: D – Albzter

Verwandte Themen