Форум программистов, компьютерный форум CyberForum.ru

Удалить из каждой строки файла первые K символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread597118.html
В одномерном массиве вычислить минимальный элемент и вытолкнуть его из массива. Помогите пож.
C++ Описать структуру с именем WORKER, содержащую следующие поля Описать структуру с именем WORKER, содержащую следующие поля: 1) фамилия и инициалы работника; 2) название занимаемой должности; 3) год поступления на работу. Написать программу, выполняющую следующие действия: 1. ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; 2. записи должны быть размещены по алфавиту; 3. вывод на дисплей фамилий работников, чей стаж... http://www.cyberforum.ru/cpp-beginners/thread597097.html
C++ Описать структуру с именем AEROFLOT, содержащую следующие поля
Описать структуру с именем AEROFLOT, содержащую следующие поля: 1) название пункта назначения рейса; 2) номер рейса; 3) тип самолета. Написать программу, выполняющую следующие действия: 1. ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; 2. записи должны быть упорядочены по возрастанию номера рейса; 3. вывод на экран номеров рейсов и типов самолетов,...
C++ Проверить замечательный предел
Проверит численно второй замечательный предел lim(1+1\n)в степени n при n стремящемся к бесконечности=e, задавая n значения 1,2,3... При каком n исследуемой выражение отличается от e меньше, чем на заданную погрешность E. #include<iostream.h> #include<math.h> main() { double E,x,e=2.72,; double n; cout<<"vvedite pogreshnost"; cin>>E;
C++ Описать структуру с именем STUDENT, содержащую следующие поля http://www.cyberforum.ru/cpp-beginners/thread597080.html
Описать структуру с именем STUDENT, содержащую следующие поля: 1) фамилия и инициалы; 2) номер группы; 3) успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: 1. ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT;
C++ Применение strtok() для получения слова Ребят, задача собственно, такая: у заданного текста поменять местами первое и последнее слово. Алгоритм у меня такой. Я с помощью strtok получаю первое и последнее слова, затем, мне нужно посчитать длину текста, расположенного между ними(между первым и последним словом). Длина текста между первым и последним словом= длина всей строки-(длина первого слова+длина последнего). Длины первого и... подробнее

Показать сообщение отдельно
Ксю92
73 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 94

Удалить из каждой строки файла первые K символов - C++

05.06.2012, 16:08. Просмотров 2562. Ответов 7
Метки (Все метки)

Всем привет! Вообщем есть задачка
Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина строки меньше K, то удалить из нее все символы).

Впринципе не сложная (есть даже её решение на Pascal), но я не знаю аналога в C++ delete(temp,1,k);

Мой код на С++
Код C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /** Text18. Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина строки меньше K, то удалить из нее все символы). */ #include <fstream> #define FILE_NAME_1 file1.txt #define FILE_NAME_2 new_file.txt int main(int argc, char ** argv) { int k; std::string buffer; std::ifstream file1("FILE_NAME_1"); std::ifstream file2("FILE_NAME_2"); std::cout << "k -> "; std::cin >> k; if (!file1.is_open()) { std::cerr << "Can't open " << FILE_NAME_1 << " for input!" << std::endl; return 1; } while(!file1.eof()) { file1 >> buffer; ****/** тут должно быть Delete(buffer, 1, k); только на С++ */ ****file2 << buffer; } file1.close(); file2.close(); return 0; }


Решение на Pascal
Код Pascal1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Program Text18; Const add='test.txt'; add1='new.txt'; var f,f2:text; temp:string; k:byte; Begin assign(f,add); assign(f2,add1); reset(f); rewrite(f2); write('Введите k: ');readln(k); while not eof(f)do begin readln(f,temp); delete(temp,1,k); writeln(f2,temp); end; close(f2); close(f); end.


Заранее спасибки!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru