Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » gleichbleibende Zeilen einlesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
22.11.2012, 17:16 Uhr
~masskrug1
Gast


ich hab c und c++ vermischt

nach euren hinweiß darauf hab ich nochmal neu angefangen



C++:
ifstream in("D:\\ZickZack.txt");
string line;

while (getline(in, line))



...

ist nur der ausschnitt mit dem zeilenweisen lesen

wie macht ihr das mit den codetags weil das bei mir nicht funktioniert.

jetzt stellt sich mir die Frage, wie ich nur eine bestimmte zeile auslesen kann? und dann zur nächsten springe und diese verwende

Dieser Post wurde am 23.11.2012 um 22:42 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
22.11.2012, 18:28 Uhr
~f.-th.
Gast


Es gibt je nach Forum meist mehrere Möglichkeiten Codetags zu setzen.
Hier mach ich das meist mit copy&paste -> siehe links unter Quellcode:
direkt über dem Quellcode eckige "Klammer auf dann cpp und Klammer zu"
unter dem Quellcode "Klammer auf dann slash&cpp und Klammer zu"

Aber du hast das doch in einem Beitrag vor ein paar Stunden mit den Codetags schon hin bekommen? Doppelgänger?

Was ist da dran so schwer zu verstehen, zeige deinen Quelltext? Dein Beispiel Quellcode sollte nur wenige Zeilen umfassen. Das ist bei Einsteigern sinnvoll sich den ganzen Quellcode zeigen zu lassen, da man dann schneller Probleme im Quelltext klären kann. Siehe deine Verwechslung C vs. C++ Und glaub uns, da haben wir schon einiges gesehen Bei grossen Programmen sieht das anders aus.

Deine 3 Zeilen zeigen schon mal in die richtige Richtung. Bau den Rest des Quelltextes darum.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
23.11.2012, 09:12 Uhr
~masskrug1
Gast


So hier mein Quellcode


das Zeilenweise einlesen habe ich nun hinbekommen, jedoch will ich mehr^^



C++:
#include <string>
#include <iostream>
#include <fstream>


using namespace std;

int main(void)
{
    
ifstream in("D:\\ZickZack.txt");
string line;

while (getline(in, line)) // Diese Zeile verknüpf nun den Dateiinhalt mit dem string
                // Jedoch will ich nur bis zu einer bestimmten Zeile einlesen
    
    cout << line << endl;

    

    system("pause");
    return 0;

}






Hoffe es funktioniert jetzt :-)


mein nächster Schritt wäre jetzt, dass ich nur bis zu einer bestimmten Zeile lese

mein Gedanke ist in die While-Schleife irgendeinen Befehl einzubauen


C++:

while (getline(in, line)= "Name")



so in dem Stil aber da macht der Compiler nicht mit


habt ihr Tipps?

Dieser Post wurde am 23.11.2012 um 22:42 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
23.11.2012, 09:25 Uhr
Tommix



'Morgen,
Du sollst nicht "Slash" hinschreiben sondern einen Slash "/":
[cpp]
... code
[/cpp]

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
23.11.2012, 09:26 Uhr
~masskrug1
Gast



C++:
#include <string>
#include <iostream>
#include <fstream>


using namespace std;

int main(void)
{

ifstream in("D:\\ZickZack.txt");
string line;

while (getline(in, line)) // Diese Zeile verknüpf nun den Dateiinhalt mit dem string
// Jedoch will ich nur bis zu einer bestimmten Zeile einlesen

cout << line << endl;



system("pause");
return 0;

}





Sorry





C++:

while (getline(in, line)= "Name")

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
24.11.2012, 13:23 Uhr
~f.-th.
Gast


folgende Zeile macht wahrscheinlich eh nicht was du dir vorstellst:

C++:
while (getline(in, line)= "Name")


Unter der Voraussetzung das die Text- oder INI- Datei genau in der Form vorliegt und ohne sonstige Sicherheitsabfragen hier mal ein Minimal-Beispiel:

C++:
#include <iostream>
#include <fstream>

int main()
{
    std::string name, nachname, vorname;
    std::string alter;
    int jahre;
    
    std::ifstream ini("test.ini");  // <--anpassen
    ini >> name >> nachname >> vorname;
    ini >> alter >> jahre;
    
    std::cout << vorname << " " << nachname << std::endl;
    std::cout << jahre << std::endl;
}



Versuche das zu verstehen - kopieren hilft nicht, und Sicherheitsabfragen schaden nicht.


Auch für das von dir gezeigt Dateiformat gibt es fertige Bibliotheken, die ein wenig mehr können sollten. Siehe WinAPI und Weitere.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
26.11.2012, 12:11 Uhr
~masskrug1
Gast


hey danke für den beispielcode aber ich glaube nicht, dass dieser in die Richtung meiner Anwendung geht


vll sollte ich nochmal kurz darstellen was ich will^^


1. eine Datei einlesen -> hat funktioniert
2. den Zeileninhalt der z.B 2. Zeile greifen, lesen was auch immer
3. diesen Zeileninhalt für etwas anderes verwenden. (zum beispiel zum benennen einer neuen Datei)

vll habe ich mein Problem falsch beschrieben.


im Prinzip will ich nur eine Zeile aus Datei greifen und mit diesem Inhalt der Zeile etwas machen

hab mir jetzt übers wochenende mal folgenden Code zusammengebastelt, mit einem Fehler drin


C++:

#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
#include <limits>

using namespace std;
int main()
{

ifstream file("D:\\ZickZack.txt");
int lnNo;
for( lnNo = 2; lnNo < 3; ++lnNo )  
{
     string line;
     getline( file, line );
}
CopyFile("D:\\bla.txt",line,0); // hier soll der Zeileninhalt verwendet werden
remove("D:\\bla.txt");


system("PAUSE");
return 0;
}





es liefert mir den Zeileninhalt der 2. Zeile, welchen ich dann in eine neue Datei schreiben will
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
26.11.2012, 13:10 Uhr
~f.-th.
Gast


Wie schaffts du das dich so genau ungenau auszudrücken?

Statt wild irgendwelche seltsamen Quelltexte aus dem Internet zusammen zu kopieren hol dir mal ein gutes C++ Buch. Auch da gibt es massig andere.

Du hattest genug Zeit den letzten Quelltext zu verstehen. Für deine Zwecke abgewandelt?
Wieder minimal oder Netz und doppelten Boden:

C++:
#include <iostream>
#include <fstream>

int main()
{
    std::string name, nachname, vorname;
    std::string alter;
    int jahre;
    
    std::ifstream ini("test.ini");
    ini >> name >> nachname >> vorname;
    ini >> alter >> jahre;
    
    std::ofstream ziel("ziel.ini");
    ziel << vorname << " " << nachname << std::endl;
    ziel << jahre << std::endl;
}


Wie geschrieben, du widersprichst dich bei der Aufgabenbeschreibung innerhalb eines Beitrags?
Test.ini aus deinem 1. Text in diesem Beitrag.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
26.11.2012, 13:36 Uhr
~f.-th.
Gast


Ich mach uns noch mal den Spass deinen Quelltext zu kommentieren:

C++:
#include <windows.h>  // du willst keine Datei kopieren! -> sollte entfallen
#include <stdio.h>       // du schreibst C++ also was soll diese Zeile hier?
#include <iostream>
#include <fstream>
#include <string>
#include <limits>

using namespace std;
int main()
{

ifstream file("D:\\ZickZack.txt");
int lnNo;
for( lnNo = 2; lnNo < 3; ++lnNo )  // Wo zu diese Schleife, wenn eh nur 1x durchlaufen?
{
     string line;
     getline( file, line );
}
CopyFile("D:\\bla.txt",line,0); // Du willst keine Datei kopieren, sondern teile des Inhalts -> hier also Unf%g
remove("D:\\bla.txt");  // Okay, wenn du die gerade erstellte Datei wieder löschen willst?


system("PAUSE");   // Führe das auf der Win-Konsole aus. Dann brauchst du so einen Kram nicht ;) Oder mit einer entsprechenden IDE.
return 0;
}



Nicht übel fast jede 2. Zeile :wink
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
26.11.2012, 15:09 Uhr
Hans
Library Walker
(Operator)



Zitat von ~f.-th.:
hol dir mal ein gutes C++ Buch.


Z.B. das hier:




(Bei Amazon)


Das ist der Nachfolger von "C++, Eine Einführung" vom selben Autor, das ich hier in früheren Beiträgen öfter empfohlen habe.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 26.11.2012 um 15:14 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: