Aleee... Gdzie ty masz sprawdzanie ile jest tych jedynek? Ty masz po prostu takiego małego if()-a, no ale co z tego? Przecież to nic nie robi :D Dobra, tutaj masz poprawiony kod:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int pp()
{
ifstream plik;
string linia;
int licznik;
char znak_szukany='1';
plik.open("ilejedynek.txt");
if(!plik.good())
{
cout << "\nNie ma pliku!" << endl;
plik.close();
}
plik >> linia;
for(int i=0;i<linia.length();i++)
{
if(linia[i]==znak_szukany)
licznik++;
}
plik.close();
return licznik;
}
int main()
{
cout << "W pliku jest " << pp() << " jedynek.";
}
Tylko ci jeszcze wytknę jeden błąd ;) No więc w funkcji pp return masz przed close, a po return funkcja się zamyka, więc plik już by chyba się nie zamknął.
No, to chyba tyle, program działa, jak masz jeszcze jakieś pytania, to napisz w komentarzu ;)