以下のプログラムを実行してファイルの名前を入力すると、ファイルが読み取られないようです。どこで探せばいいのかわからないからでしょうか?また、ファイル内の行数を返す関数は、表示されるメモリアドレスのみを返します。
#include <iostream>
#include <fstream>
#include<string>
using namespace std;
入力されたtxtファイルの文字数を返す関数:
int return_Characters(ifstream& in)
{
int characters = in.gcount();
return characters;
}
txt ファイルの行数を取得し、その数を double として返すと想定される関数:
double return_lines(ifstream& in)
{
string name;
double lines = 0;
while(getline(in, name) ){
int count = 0;
lines = count++;
}
return lines;
}
主な機能:
int main()
{
string file_name;
ifstream input_file;
cout << "Please enter the name of your file" << endl;
ユーザーが入力した file_name 文字列を読み取り、関数を実行して、ユーザーが入力した txt ファイルの文字数と行数を取得するループを実行します。
do {
getline(cin, file_name);
cout << "checking" << ' ' << file_name << endl;
input_file.open(file_name);
int count_characters = return_Characters(input_file);
cout << "the number of characters is equal to " << count_characters << '\n';
double count_lines = return_lines(input_file);
cout << "the number of lines in the file is equal to" << return_lines << '\n';
input_file.close();
}while(!file_name.empty());
cout << "there was an error oepning your file. The program will not exit" << endl;
system("Pause");
return 0;
}