out.txt
), продублировав на экране.Исходный файл original.txt
содержит следующий текст:
/* веб-сайт: cppstudio.com, программирование на С++ раздел помогите написать программу форум программистов на С++ исходный код программ на С++ руководство для начинающих программистов на С++ */
Таким образом программа должна открыть данный файл и сформировать слова из него. Количество слов равно количеству строк в исходном файле. То есть из одной строки должно получиться одно слово. Слово формируется из первых букв каждого слова в строке.
Если, вдруг забыли как работать с файлами, читаем статью на сайте. Результат работы программы показан ниже:
// files.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <fstream> //заголовочный файл для работы с файлами using namespace std; int main(int argc, char* argv[]) { setlocale(LC_ALL, "rus"); // корректное отображение Кириллицы ifstream fin("original.txt"); // открыли файл для чтения ofstream fout("out.txt"); // создаём файл для записи if (!fin.is_open()) // если файл не открыт cout << "Файл не может быть открыт!n"; // сообщить об этом else // в случае успешного открытия файла { int symbol; // переменная для временного хранения считываемых символов из файла bool space = false; // переменная флаг, для определения начала слова while ( !fin.eof()) // пока не конец файла { symbol = fin.get(); // считать символ из файла и сохранить в symbol if (symbol != ' ') // если считанный символ не пробел space = true; while (symbol != 'n' && !fin.eof()) // пока не конец строки и не конец файла { if (symbol != ' ' && space) // если считанный символ не пробел и флаг равен true { fout << (char)symbol; // запись в файл out.txt cout << (char)symbol; // вывод на экран space = false; } else if (symbol == ' ') // если считанный символ - пробел space = true; // разрешить записать символ в файл symbol = fin.get();// считать символ из файла и сохранить в symbol } fout << " "; // запись в файл символов пробела cout << " "; // вывод на экран } fin.close(); // закрыть файл original.txt fout.close(); // закрыть файл out.txt } cout << endl; system("pause"); return 0; }
В случае если программа не сможет открыть исходный файл original.txt, на экране появится соответствующее сообщение. Если же исходный файл будет успешно открыт, то программа начнёт посимвольно считывать информацию из файла до тех пор, пока не будет достигнут конец исходного файла original.txt. Переменная-флаг spac контролирует отбор символов, то есть если следующий символ, после пробела не является пробелом, то он является первым символом слова. Именно таким образом определяются первые символы слов. Сформированные слова сохраняются в текстовый файл out.txt. Вот результат:
Комментарии
Arthur
Alexander Shein
petruska
Программа работает только с анг раскладкой ( других не пишу)) )
Diamind
iksv
kybik
у тебя код более понятный, чем в примере.
Afro
Появилось 2 вопроса:
1. Русский алфавит не считывает. Как исправить?
2. Первым символом постоянно считывает «п», не понятно почему?
R.E.D.
Скомпилил этот код под виндой в MVS2010, все ок.
Если вы про свой код спрашиваете, то — код в студию! А если про код на этой странице, то напишите подробнее, в какой ОС запускали программу и чем собирали код.
Afro
Компилил в том же mvs, под той же виндой(32), странно.