|
You last visited: Today at 17:44
Advertisement
Frage Ein- und Ausgabe mit Datein
Discussion on Frage Ein- und Ausgabe mit Datein within the C/C++ forum part of the Coders Den category.
10/05/2014, 20:13
|
#1
|
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
|
Frage Ein- und Ausgabe mit Datein
Das Beispielprogramm "Lesen einer Textdatei".
Egal was ich mache, es kommt immer die Fehlermeldung.
Code:
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main() {
string quelldateiname;
cout << "Quelldatei? ";
cin >> quelldateiname;
ifstream quelle(quelldateiname); // Objekt für Eingabestrom
if (!quelle) { // Fehlerabfrage
cerr << quelldateiname << " kann nicht geöffnet werden!\n";
}
else {
// Lesen der Datei und Anzeige der Zeilen
while (quelle) {
string zeile;
getline(quelle, zeile);
cout << zeile << endl;
}
}
} // Datei wird am Programmende automatisch geschlossen.
|
|
|
10/05/2014, 20:26
|
#2
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
|
Schon mal geschaut, wie der quelldateiname-String aussieht?
Dieser Code funktioniert problemlos:
Code:
#include <string>
#include <fstream>
#include <iostream>
int main()
{
std::string quelldatei;
std::cout << "Quelldatei?" << std::endl;
std::getline(std::cin, quelldatei);
std::ifstream quelle{ quelldatei };
if (!quelle)
{
std::cerr << quelldatei << " kann nicht geöffnet werden!\n";
} else
{
for (std::string line; std::getline(quelle, line); )
{
std::cout << line << std::endl;
}
}
}
|
|
|
10/06/2014, 00:19
|
#3
|
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
|
Den quelldateiname-String soll man ja eingeben.
Aus diesen Grund ist ja auch die Eingabe mit "cin >>" vorhanden.
|
|
|
10/06/2014, 00:58
|
#4
|
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
|
Er meinte viel mehr wie der String selbst aussieht. Du musst bei den Pfaden beispielsweise escaping beachten; somit wird aus \ dann \\ und so weiter.
|
|
|
10/06/2014, 07:26
|
#5
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Benutze std::getline aus <string> statt den operator>> von std::cin.
Warum, erklär ich dir heute Nachmittag in nem Edit oder jemand anders der schneller ist.
|
|
|
10/06/2014, 16:14
|
#6
|
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
|
Quote:
Warum, erklär ich dir heute Nachmittag in nem Edit oder jemand anders der schneller ist.
|
Weil der std::iostream:: operator>>() bei einem Whitespace stoppt, während std::getline() bis zum Abgrenzungsbuchstaben einliest. Dieser ist, sofern nicht spezifiziert, ein '\n'. Heißt im Klartext: Alles bis zum Enter wird eingelesen, während bei std::cin >> das Einlesen nach einem Leerzeichen bereits beendet wird.
|
|
|
10/06/2014, 17:00
|
#7
|
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
|
Quote:
Originally Posted by Delinquenz
Weil der std::iostream:: operator>>() bei einem Whitespace stoppt, während std::getline() bis zum Abgrenzungsbuchstaben einliest. Dieser ist, sofern nicht spezifiziert, ein '\n'. Heißt im Klartext: Alles bis zum Enter wird eingelesen, während bei std::cin >> das Einlesen nach einem Leerzeichen bereits beendet wird.
|
Wenn ich nun aber kein Leerzeichen eintippe, dann müsste das Programm doch klappen. Was es aber nicht will
|
|
|
10/06/2014, 21:37
|
#8
|
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
|
Keine Ahnung was du machst, bei mir funktioniert dein originaler Code problemlos.
Code:
F:\dev\mingw32\bin>g++ -std=c++11 main.cpp -o aaa_main.exe
F:\dev\mingw32\bin>aaa_main
Quelldatei? test.txt
as÷dgiasnegls
Was gibst du denn ein als Dateiname?
Padmak
|
|
|
10/07/2014, 00:17
|
#9
|
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
|
Klappt alles, danke Padmak.
Das Programm, und die zu öffnende Datei müssen im selben Ordner sein.
|
|
|
|
Similar Threads
|
Frage datein
10/29/2012 - Metin2 Private Server - 0 Replies
Hallo
wollte mal fragen welche Datein ich bräuchte um die Autopots funktionsfähig zu machen aus der root?
|
Frage du den epk/eix Datein
01/08/2012 - Metin2 Private Server - 0 Replies
Hey Leute,
ich arbeite gerade wieder an einem Riesen Programm unzwar einem Client Manager, nun meine Frage, unzwar hat sich ja in der letzten Zeit so einiges bei den epk/eix Datein verändert, so würde ich einmal gerade wissen was alles und vor allem jede Menge Codes, HowTos, Releases etc haben. Hab da so leider nichts gefunden, es gibt hier aber doch sicher Leute die sich damit auskennen.
Danke im Vorraus
MrAPC
|
Frage zu gr2 datein
01/05/2011 - Metin2 Private Server - 0 Replies
wollte wissen ob man gr2 datein ein neuen datei weg zuweißen kann, wen ja wie macht man das.
habe über SuFu nichts gefunden, weil er gr2 ignoriert
Bitte antwortet mir
|
Frage Duell Ausgabe bei quest...
08/08/2010 - Metin2 Private Server - 4 Replies
Hallo ich wollt mal fragen wie mann ausgibt wenn ein spieler im duel ist also die quest überprüft dann ob der spieler sich in einem duell modus befindet sozusagen ist dass möglich wie heißt der quest befehel dafür...
ich würde mich freuen wenn ich eine antwort bekommen würde =)
|
[FRAGE]AutoIt Gui ausgabe
12/27/2009 - AutoIt - 0 Replies
Hi,
Ich hab mir mal was Programmiert, mein erster verushc.
GUi hab ich geaschafft, ich will, dass man festlegen kann, was gesendet wird.
Aber wenn ich nun aufm Numpad2 drücke sendet er immer 1, obwohl ich in mein FEld vorher in der Gui 5 eingetragen habe, an was liegt das?
Dankeschön :D
|
All times are GMT +2. The time now is 17:44.
|
|