Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Самоучитель С++ - Шилдт Г.

Шилдт Г. Самоучитель С++ — Спб.: БВХ-Петербург, 2003. — 688 c.
ISBN 5-7791-0086-1
Скачать (прямая ссылка): samouchitelc2003.djvu
Предыдущая << 1 .. 172 173 174 175 176 177 < 178 > 179 180 181 182 183 184 .. 206 >> Следующая

{
cout << td << '\n';
return 0;
2. #include <iostream> using namespace std;
// Установка шестнадцатеричного вывода с символом х
// в верхнем регистре
ostream fisethex (ostream Sstream)
{
stream.unsetf(ios *:dec I ios::oct);
stream.setf(ios::hex I iosuppercase I ios::showbase);
return stream;
}
// Сброс флагов
ostream fireset {ostream fistream)
{
stream.unsetf (ios: :hexl 1 :uppercase I ios: : showbase) ;
stream.setf(ios:;dec);
return stream;
Приложение В. Ответы на вопросы и решений упражнений. int main ()
{
cout « sethex « 100 « ' \n';
cout « reset « 100 « '\n';
return 0;
}
3. #include <iostream>
using namespace std;
// Пропуск 10 символов
istream &skipchar(istream ^stream)
(
.int і; char c;
for(i=0; i<10; i++) stream >> c;
return stream;
і
int main()
[
char str [80];
cout « "Введите несколько символов: ";
сіп >> skipchar >> str;
cout << str « ’Vn1;
return 0;
}
9.2
1. // Копирование файла и вывод числа скопированных символов
ttinclude <iostream> ttinclude <fstream>
using namespace std;
int main(int argc, char *argv[ ])
t
if(argc!=3) {
cout « "Копирование <файл_ввода> <файл_выБОда>\п","
return 1;
}
ifstream fin{argv[l]); // открытие файла для ввода
ofstream fout(argv[2]); // создание файла для вывода
595
596
Самоучитель C++
if(!fin) (
cout « "Файл для ввода открыть невозможно\пи;
return 1;
}
if(Ifout) {
cout « "Файл для вывода открыть невозможно\п";
return 1;
>
char ch;
unsigned count = 0;
fin.unsetf(ios::skipws); //не пропускать пробелы while (! fin. eof{) ) {
f in»ch.;
if Mfin.eofO) {
fout « ch; count++;
I
}
cout « "Число скопированных байтов: " << count « '\n'f
fin.close{); fout.close<) ;
return 0;
Ї
Результат, выводимый этой программой, может отличаться от того, который выводится в каталоге, поскольку некоторые символы могут интерпретироваться иначе. Уточним, когда считывается последовательность возврат каретки/перевод строки, она преобразуется в символ новой строки. При выводе новая строка считается одним символом, но опять преобразуется в последовательность символов возврат каретки/перевод строки.
2. #include <iostream>
#include <fstream> using namespace std;
int main ()
{
of stream pout ("phone") ; iff!pout) {
cout « "Файл PHONE открыть невозможно\n"; return 1;
)
Приложение В. Ответы на вопросы и решения упражнений.
597
pout << "Иссак Ньютон, 415 555-3423\п"; pout « "Роберт Годдард, 213 555-2312Vn"; pout « "Энрико Ферми, 202 555-1111\п”;
pout, close {);
return Or*
1
3. // Подсчет числа слов
#include <iostreain>
#include <fstream>
#include <cctype> using namespace std;
int main (int argc, char *argv[])
{
if(argc!=2) {
cout « "Подсчет слов: <файл_ввода>\п";
return 1;
}
ifstream in(argv[ 1 ]); if{!in) {
cout « "Файл ввода открыть невозможно\п"; return 1 ;
)
int count - 0; char ch;
in » ch; // нахождение первого символа — не пробела
// Теперь пробелы пропускать нельзя
in, unsetf (ios:: skipws) ; //не пропускать пробелы
while ( ! in.eof ()) ( in»ch; if(isspace(ch)) ( count++;
while (is space (ch) && ! in. eof () ) in » ch;
)
J
¦cout << "Число слов : " << count « * \n ' ; in.close();
return 0;
1
598_______________________________________________________________Самоучитель C++
(Если между словами имеется более одного пробела, то общее число слов подсчитывается программой неправильно. Кроме этого необходимо, чтобы последним символом в файле был пробел. — Примеч. пер.)
4. Функция is open возвращает истину, если вызывающий поток связан с открытым файлом.
9.3
1а. // Копирование файла и вывод числа скопированных символов #include <iostream>
#include <fstream>
using namespace std,'
int main(int argc, char *argv[]) f
if(argc!=3) {
cout « "Копирование: <файл_ввода> <файл_вывода>\п";
return 1;
}
ifstream fin (argvfl J f ios:;in I ios: ;binary) ; // открытие
// файла ввода
of stream fout (argv [2 ] , ios: rout I ios: :binary) ; // создание
// файла вывода
if(!fin) (
cout « "Файл ввода открыть невозможно \n"; return 1;
if(!fout) {
Предыдущая << 1 .. 172 173 174 175 176 177 < 178 > 179 180 181 182 183 184 .. 206 >> Следующая