Условие:
Имя входного файла input.txt Имя выходного файла стандартный вывод
Дан файл input.txt, в котором содержится текст. Напишите программу, которая найдет символ, который находится в середине файла.
Формат входных данных Входной файл содержит не более 10^7 символов с ASCII-кодами от 33 до 126.
Формат выходных данных Требуется вывести серединный символ входного файла на экран. Если в файле чётное количество символов, программа должна вывести два символа, которые находятся в середине через пробел.
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
using namespace std;
int main(){
string buf;
short k=0, n = 0;
ifstream infile;
infile.open("middle.txt", ios::in);
if(infile.is_open()){
infile >> buf;
n = buf.size();
cout << n << endl;
k = n/2;
if(n%2 == 1) {
cout << buf[k];
}
else cout << buf[k-1] << " " << buf[k];
}
else{
cout << "File error."<< endl;
return 1;
}
infile.close();
return 0;
}
Задачу решил, но вот как сюда воткнуть seekg/tellg, так и не понял. Если кто-нибудь знает, подскажите. Спасибо.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей