Стефан Дэвис - С++ для чайников .

Здесь есть возможность читать онлайн «Стефан Дэвис - С++ для чайников .» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом Вильямс. Компьютерное издательство Диалектика, Жанр: Технические науки, Программирование, Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

С++ для чайников .: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «С++ для чайников .»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

empty-line
1
empty-line
4

С++ для чайников . — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «С++ для чайников .», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

_________________

100 стр. Часть 2. Становимся функциональными программистами

Таблица 7.1. Функции, обрабатывающие строки

_________________

Название — Действие

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

int strlen( string ) —Возвращает количество символов в строке ( без учёта нулевого символа )

char* strcat( target , source ) —Присоединяет строку source к концу строки target

char* strcpy( target , source ) —Копирует строку source в target

char* strncat( target , source , n ) —Присоединяет не более n символов строки source к концу строки target

char* strncpy( target , source , n ) —Копирует не более n символов строки source в target

char* strstr( source1 , source2 ) —Находит первое вхождение строки source2 в source1

int strcmp( source1 , source2 ) —Сравнивает две строки

int stricmp( source1 , source2 ) —Сравнивает две строки без учёта регистра символов

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Чтобы использовать функции работы со строками, нужно добавить в начале программы директиву #include .

Текущий стандарт С предлагает избегать использования функцийstr В - фото 115

«Текущий стандарт С++ предлагает избегать использования функцийstr...( ) . В настоящее время компиляторы С++ поддерживают эти функции, но в один прекрасный день могут и перестать это делать. Именно с тем, что это устаревшие функции, связано использование расширения.h в директиве#include . Стандарт рекомендует использовать для работы с символьными строками специальный типstring

[ Атас! ]

В качестве примера использования функций str...( ) рассмотрим следующую программу, которая получает две строки, вводимые с клавиатуры, и объединяет их в одну строку.

/* Concatenate — объединение двух строк, которые разделяются символом " — " */

#include

#include

#include

using namespace std ;

/* Включаем файл, необходимый для использования функций работы со строками */

#include

int main( int nArg , char* pszArgs[ ] )

{

setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */

/* Считываем первую строку... */

char szString1[ 256 ] ;

cout << "Введите строку #1: " ;

cin >> szString1 ;

/* Более безопасный вариант: cin.getline( szString1 , 128 ) ; */

/* ...теперь вторую... */

char szString2[ 128 ] ;

cout << "Введите строку #2: " ;

cin >> szString2 ;

/* Более безопасный вариант: cin.getline( szString2 , 128 ) ; */

_________________

101 стр. Глава 7. Хранение последовательностей в массивах

/* Объединяем строки */

char szString[ 260 ] ;

/* Копируем первую строку в буфер */

strncpy( szString , szString1 , 128 ) ;

/* Добавляем разделитель */

strncat( szString , " — " , 4 ) ;

/* ...теперь добавим вторую строку... */

strncat( szString , szString2 , 128 ) ;

/* ...и выведем результат на экран */

cout << "\n" << szString << endl ;

/* Пауза для того, чтобы посмотреть на результат работы программы */

system( "PAUSE" ) ; return 0 ;

}

Порядок аргументов функцийstr может показаться обратным Хотя смотря - фото 116

«Порядок аргументов функцийstr...( ) может показаться "обратным". Хотя смотря что считать правильным порядком. Например,strcat( targer , source ) дописываетsource к концуtarget , что выглядит вполне логично.»

[ Помни! ]

Вот пример работы программы:

Введите строку 1 Шарик Введите строку 2 собака Шарик собака Press - фото 117

Введите строку #1: Шарик

Введите строку #2: собака

Шарик - собака

Press any key to continue...

Программа начинается со считывания вводимой с клавиатуры строки cin >> szString1 . При этом информация считывается до первого пробела, пробелы пропускаются, и оставшаяся часть строки будет считана в следующей инструкции cin >> .

Кроме того инструкцияcin ничего не знает о длине строки Она может - фото 118

«Кроме того, инструкцияcin >> ничего не знает о длине строки. Она может прочесть тысячу символов и попытаться запихнуть их в массив, размер которого только 256 символов. Это опасно, кроме прочего, ещё и тем, что может послужить дырой, через которую хакеры смогут проникнуть в ваш компьютер...»

[ Атас! ]

С предоставляет массу возможностей обойти такие узкие места Например - фото 119

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «С++ для чайников .»

Представляем Вашему вниманию похожие книги на «С++ для чайников .» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «С++ для чайников .»

Обсуждение, отзывы о книге «С++ для чайников .» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x