Cześć , zrobiłem programik, który z pliku do odczytu sprawdza dana linijke, czy jest w niej cos innego niz spacja lub cyfra i jesli tak, to pokazuje blad danej linijki w konkretnej pozycji , wszystko dziala, ale tylko dla liter np. jesli w 3 linijce jest" 0 2 3 445 a 23" to napisze blad w linijce 3 na pozycji 10
natomiast jesli w linijce 3 jest jakis inny znak niz litery np. "012 7823 54# 90" to program pisze, iz zapis jest poprawny, nie uwzglednia innych znaków od liter, czy można to jakoś zmienić ?
#include<iostream>
#include<string>
#include<math.h>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{ size_t kontroluj=0;
size_t t=-1;
string slowo;
string line;
ifstream plik;
plik.open("lulu.txt");
while(!plik.eof())
{ kontroluj ++;
getline(plik,slowo);
line=slowo;
if((t=line.find_first_not_of(" 0123456789",t+1)) != string::npos) // uwaga, czyta tez spacje
{
cout<<"Blad w linijce "<<kontroluj;
cout<< " literka w pozycji "<<t<<"\n";
}
else
{
cout<<"Poprawny zapis w linijce "<<kontroluj<<"\n";
}
}
plik.clear();
plik.seekg(0);
}