dimanche 8 septembre 2019

Document function Transfer to calculate the row of text file

I want to transfer a function to calculate the row of a text file.

The compile can pass but the function can not be transfer.I want to know what happens.

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

int getLine( const char *filename)
{
    ifstream  infile(filename,ios::in);
    if(!infile){
        cout<<"can not open"<<filename<<'\n';
        return 0;
    }
    int count=0;
    infile.unsetf(ios::skipws);
    char  buff[300];
    while(infile.getline(buff,300))
    count++;
    cout<<"the total line:"<<count<<endl;
    infile.close();
    return 0;

}

int getLineNoEmpty(const char* filename)
{
    ifstream  infile(filename,ios::in);
    if(!infile){
        cout<<"can not open"<<filename<<'\n';
        return 0;
    }
    int count=0;
    char  buff[300];
    while(infile.getline(buff,300))
    {
      if(sizeof(buff)==0)
      continue;
      else
      count++;
    }
    cout<<"the total line without null string:"<<count<<endl;
    return 0;
}
int main()
{
     char filename[256];
    cout<<"input filename:";
    cin>>filename;
    int getLine(const char &filename);
    int getLineNoEmpty(const char &filename);
    return 0;
}

The compile can pass but the function can not be transfer.I want to know what happens about it.It can output the result I want.And I don't know how to 

realize the goal of calculating the total line without null string.

Aucun commentaire:

Enregistrer un commentaire