Hm mam taki problem : mam plik (txt) a w nim wpisane liczby:
1 2 3 4
5 6 7 8
9 0
0
to jak te liczby odczytac w programie ? Aby wyswietlilo mi wszystkie na ekranie ?
No i drugi problem : jak stworzyc kryterium, aby wypisalo (wczytalo gdzies) tylko ten wiersz w ktorym znajduje sie np cztery liczby ?
Moglbym prosic o jakies przyklady itd ?
Bardzo prosze o pomoc. Dziekuje i pozdrawiam.
[C++] Operacje na plikach
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
[C++] Operacje na plikach
Aby wyswietlic to mozna poprostu:
Aby wypisalo tylko wiersze z 4 znakami sprawdzasz czy czytany znak to
Kod: Zaznacz cały
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream load("plik.txt");
string buf;
while( !load.eof() )
buf+= load.get();
cout << buf;
load.close();
return 0;
}
Kod: Zaznacz cały
'\n'[code]. Jesli tak to wtedy sprawdzasz zawartosc linijki. POZDRO
-
- Użytkownik
- Posty: 92
- Rejestracja: 12 gru 2007, o 14:29
- Płeć: Mężczyzna
- Lokalizacja: Szczecin
- Podziękował: 65 razy
- Pomógł: 1 raz
[C++] Operacje na plikach
Hmm ten program nic nie wypisuje na ekran a testuje go na dokladnie takim samym pliku txt jak napisalem wyzej. Aha Soku i jakbys mogl mi dokladniej wyjasnic z tym :
Aby wypisalo tylko wiersze z 4 znakami sprawdzasz czy czytany znak toKod: Zaznacz cały
'\n'[code]. Jesli tak to wtedy sprawdzasz zawartosc linijki[/quote] bo wydaje mi sie ze nie zakapowalem :( Dzieki za pomoc, pozdrawiam
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
[C++] Operacje na plikach
Hmpf... Mi wszystko pieknie dziala... Czy aby na pewno ten plik sie nazywa "plik.txt" i sie znajduje tam, gdzie kompilujesz execa (albo tam gdzie jest exec ale uruchamiasz bez kompilacji)??
Co do tej drugiej czesci to robisz cos w stylu:
Gdzie procedruka Checkline bedzie miala prototyp:
A w niej poprostu operujesz jak na tablicy charow sprawdzajac kolejne miejsca. Wszystko tutaj zalezy od tego jak maja wygladac dane, czy maja byc tam spacje itd... POZDRO
Co do tej drugiej czesci to robisz cos w stylu:
Kod: Zaznacz cały
string line;
int size;
while( !load.eof() )
{
line+=load.get();
size=line.size()-1;
if( size>0 && line[size]=='\n' ) // pojawil sie koniec i nie pierwszy znak
{
if( CheckLine(line) ) // sprawdz czy sa 4 cyfry
cout<<line;
line.clear(); //skasuj poprzednia zawartosc
}
}
Kod: Zaznacz cały
bool CheckLine( string line);