Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 7.45 Дано целое число K(> 0) и строковый файл. Создать два новых файла:
- // строковый, содержащий первые K символов каждой строки исходного файла,
- // и символьный, содержащий K - й символ каждой строки(если длина строки
- // меньше K, то в строковый файл записывается вся строка, а в символьный
- // файл записывается пробел).
- #include <iostream>
- #include <fstream>
- #include <string>
- void FileWorker(uint16_t k) {
- std::string buffer;
- std::ifstream f("f.txt");
- if (f.is_open()) {
- std::ofstream sf("string_file.txt");
- std::ofstream cf("char_file.txt");
- while (f) {
- std::getline(f, buffer);
- if (buffer.length() < k) cf << ' ';
- else cf << buffer[k];
- sf << buffer.substr(0, k) << '\n';
- }
- sf.close(); cf.close(); f.close();
- std::cout << "готово\n";
- }
- else {
- std::cout << "файл не открыт\n";
- }
- }
- int main()
- {
- setlocale(LC_ALL, "russian");
- uint16_t k;
- std::cout << "введите K:\n";
- std::cin >> k;
- FileWorker(k);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment