Napisałem coś takiego:
#include <iostream>
#include <fstream>
int SeeFile(std::string name,int line)
{
std::fstream file;
std::string iss[line];
int asd=1;
int buf;
file.open(name.c_str(), std::ios::in | std::ios::out);
if(file.good()==false)return 5;
for(int i=line; i>0; i--)
{
getline(file, iss[asd]);
asd++;
}
buf=asd;
for(int j=asd; j>0; j--)
{
std::cout << iss[buf-j+2] << std::endl;
}
return 0;
}
int main()
{
SeeFile("Nic.txt", 10);
return 0;
}
ale potem zauważyłem, że nie działa(wywala program bez powodu.) Dla ułatwienia napisałem komentarze, aby łatwiej wam było mi pomóc
#include <iostream>
#include <fstream>
int SeeFile(std::string name/** Nazwa pliku*/,int line/**Ile linii wczytac*/)
{
std::fstream file;/** Plik*/
std::string iss[line];/**Napis z linii*/
int asd=1;/**Numer linii z napisem*/
int buf;/**Potrzeba zapamietac te wartosc (parz linia 20)*/
file.open(name.c_str(), std::ios::in | std::ios::out);/**Otwieranie pliku*/
if(file.good()==false)return 5;/**Sprawdzanie czy plik istnieje*/
for(int i=line; i>0; i--)/**Petla wczytujaca linie (od int line(patrz 4 linijka))*/
{
getline(file, iss[asd]);/**Wczytywanie napisu*/
asd++;/**Kolejna linijka*/
}
buf=asd;/**Potrzebne do tablicy(patrz 20 linijka)*/
for(int j=asd; j>0; j--)/** Petla wypisujaca liczby*/
{
std::cout << iss[buf-j+2] << std::endl;/**tu wypisuja sie liczby*/
}
return 0;/**Konczenie funkcji*/
}
int main() /**Tu sie wszystko dzieje*/
{
SeeFile("Nic.txt", 10);/** wywolywanie funkcji*/
return 0; /** Konczenie programu*/
}
Czemu mnie wywala zamiast wypisać te 10 linijek?
PS. zawartość pliku to:
Lubie
Placki
1
2
3
4
5
6
7
Nie ma 8 :(