Из текстового файла f переписать в файл g все строки, содержащие более 30 символов - Turbo Pascal
Формулировка задачи:
Дан текстовый файл f. Переписать в файл g все строки файла f, содержащие более 30 символов. Файл f.txt создается пользователем.Нужно перевести с С++ и изменить немного под мою задачку)
Листинг программы
- #include <fstream>
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- #include<string.h>
- using namespace std;
- int main (){
- ifstream in("test.txt"); // Открыли файл
- ofstream out("out.txt");
- //Проверка на ошибки
- if(!in || !out){
- cout<<"Failed to open file\n";
- system ("PAUSE");
- return 1;
- }
- string buf; // переменная, в которую будем считывать данные
- while(!in.eof()){
- getline(in,buf); // Считали
- if(buf.size()>30)
- out<<buf;
- }
- in.close();
- out.close();
- system ("PAUSE"); // Смотрим результаты работы программы
- return 0;
- }
Решение задачи: «Из текстового файла f переписать в файл g все строки, содержащие более 30 символов»
textual
Листинг программы
- var f, g: Text; s: String;
- begin
- Assign(f,'f.txt'); Assign(g,'g.txt');
- Reset(f); Rewrite(g);
- while not EoF(f) do begin
- ReadLn(f,s); if Length(s)>30 then WriteLn(g,s);
- end;
- Close(f); Close(g);
- end.
Объяснение кода листинга программы
- Объявляются переменные f, g и s типа Text и String соответственно.
- Задаются пути к файлам f и g через функцию Assign.
- Функция Reset в файле f сбрасывает счетчик строк, а функция Rewrite в файле g создает новую строку.
- В цикле while не EoF(f) происходит чтение строки s из файла f с помощью функции ReadLn.
- Если длина строки s больше 30 символов, то она записывается в файл g с помощью функции WriteLn.
- После окончания чтения файла f, файлы f и g закрываются с помощью функций Close.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д