2. Строковые литералы
∙ Строки — это массивы символов типа char,
заканчивающиеся нулевым символом.
// массив ’H’, ’e’, ’l’, ’l’, ’o’, ’0’
char s[] = "Hello";
∙ Строки могут содержать управляющие
последовательности:
1. n — перевод строки,
2. t — символ табуляции,
3. — символ ’’,
4. " — символ ’"’,
5. 0 — нулевой символ.
cout << "List :nt- C,nt- C++.n";
2/8
3. Работа со строками в стиле C
∙ Библиотека cstring предлагает множество функций для
работы со строками (char *).
char s1 [100] = "Hello";
cout << strlen(s1) << endl; // 5
char s2[] = ", world!";
strcat(s1 , s2);
char s3[6] = {72, 101, 108, 108, 111};
if (strcmp(s1 , s3) == 0)
cout << "s1 == s3" << endl;
∙ Работа со строками в стиле C предполагает кропотливую
работу с ручным выделением памяти.
3/8
4. Работа со строками в стиле C++
Библиотека string предлагает обёртку над строками, которая
позволяет упростить все операции со строками.
#include <string >
using namespace std;
int main () {
string s1 = "Hello";
cout << s1.size () << endl; // 5
string s2 = ", world!";
s1 = s1 + s2;
if (s1 == s2)
cout << "s1 == s2" << endl;
return 0;
}
4/8
5. Ввод-вывод в стиле C
∙ Библиотека cstdio предлагает функции для работы со
стандартным вводом-выводом.
∙ Для вывода используется функция printf:
#include <cstdio >
int main () {
int h = 20, m = 14;
printf("Time: %d:%dn", h, m);
printf("It’s %.2f hours to midnightn",
((24 - h) * 60.0 - m) / 60);
return 0;
}
5/8
6. Ввод-вывод в стиле C
∙ Библиотека cstdio предлагает функции для работы со
стандартным вводом-выводом.
∙ Для ввода используется функция scanf:
#include <cstdio >
int main () {
int a = 0, b = 0;
printf("Enter a and b: ");
scanf("%d %d", &a, &b);
printf("a + b = %dn", (a + b));
return 0;
}
∙ Ввод-вывод в стиле C достаточно сложен и небезопасен
(типы аргументов не проверяются). 6/8
7. Ввод-вывод в стиле C++
∙ В C++ ввод-вывод реализуется через библиотеку iostream.
#include <string >
#include <iostream >
using namespace std;
int main () {
string name;
cout << "Enter your name: ";
cin >> name; // считывается слово
cout << "Hi , " << name << endl;
return 0;
}
∙ Реализация ввода-вывода в стиле C++ типобезопасна.
7/8
8. Работа с файлами в стиле C++
∙ Библиотека fstream обеспечивает работу с файлами.
#include <string >
#include <fstream >
using namespace std;
int main () {
string name;
ifstream input("input.txt");
input >> name;
ofstream output("output.txt");
output << "Hi , " << name << endl;
return 0;
}
∙ Файлы закроются при выходе из функции. 8/8