Порядок виконання лабораторної роботи
1. Складіть програму для програмної перевірки типу кодування, заданого за замовчуванням (визначте довжину в байтах типу TCHAR).
2. Визначте тип кодування по заданих макросах в командному рядку. Для цього визначимо командний рядок для трансляції програми:
Properties→C/C++→Command Line
Усі змінні, які задаються при трансляції, задаються параметром /D. Якщо визначено змінну UNICODE, то використовується режим UNICODE, якщо така змінна не задана, то використовується режим ANSI.
3. Перемикніть режим завдання символу на протилежний. Для перемикання режиму з UNICODE в режим ANSI використовують таку послідовність вибору пунктів меню: Properties→General→Character Set→ Use Multi-Byte Character Set
Для перемикання з режиму ANSI в режим UNICODE використовують: Properties→General→Character Set→UseUnicode Character Set.
4. Після перемикання режиму знову перевірте тип символу за замовчуванням та командний рядок. (Після трансляції!!!)
5. Завдайте ПІБ членів своєї сім’її в ANSI та виведіть задані значення. Для виведення букв кирилиці необхідно встановити локальні режими. Для цього використовуються файл заголовку і функція:
#include <locale.h>
…
TCHAR * _tsetlocale ( int category, const TCHAR *locale );
де:
category – зазвичай (LC_ALL);
locale – рядок, який визначається мовою, для якої встановлюється:
_T("Russian") – російська мова;
_T("Ukrainian") – українська мова.
Функція повертає 0, якщо функція не може бути виконана.
6. Переведіть задані рядки в UNICODE за допомогою функції (MultiByteToWideChar).
|
|
7. Виведіть отриманий масив. Перевірте можливість виведення кожним з 3-х способів:
- функція _tprintf, якщо встановлено локальні режими;
- функція MessageBox
int MessageBox (0, <Рядок, який виводиться>, <Заголовок вікна>, MB_OK)) ;
- функція WriteConsole (Дескриптор, <Рядок, який виводиться>, <Довжина рядка в символах>, <Адреса довжини рядка, який виведено>, 0).
Зробіть висновки відносно можливості їх використання.
8. Виконайте упорядкування масиву рядків, заданих в UNICODE. Для сортування треба використовувати універсальну стандартну функцію qsort:
void qsort(
void *base, // Масив, що упорядковуємо
size_t num, // Кількість елементів масиву;
size_t width, // Ширина елементу масиву;
int (__cdecl *compare )(const void *, const void *) );
// Функція для порівняння елементів масиву
9. Виконайте зворотне перетворення масиву з Unicode в ANSI.
10. Виведіть отриманий результат
11. Завдано текстовий файл. Незалежно від способу кодування символів в цьому файлі, переставити всі символи в зворотному порядку. Символи кінця рядка залишити в правильному порядку.
Зміст звіту
Звіт повинен вміщувати:
- повний опис усіх типів і функцій, які використовуються для забезпеченості універсальності кодування;
|
|
- повний опис усіх типів і функцій, які використовуються для виведення інформації в консольному режимі на російській (українській) мові;
- тексти розробленої програми з коментарями;
- тести для перевірки правильності програми;
- Висновки по роботі
Контрольні запитання і завдання
1. Навіщо створювати універсальні додатки для роботи з ANSI, UNICODE?
2. Як забезпечити універсальність об’явлення символу?
3. Які функції використовуються для введення та виведення універсальних типів даних?
4. Як встановити локальні характеристики для виведення інформації російською(українською) мовами?
5. Що треба змінити в програмі для упорядкування масиву ANSI символів?
СТВОРЕННЯ ТА ВИКОРИСТАННЯ БІБЛІОТЕК
Мета роботи
Вивчити прийоми та методи створення та використання статичний та динамічних бібліотек
Методичні вказівки з організації самостійної роботи студентів
При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [3, c. 100 - 106 ].
Загальна характеристика статичних бібліотек
Статичні бібліотеки (файл з розширенням lib) компонується разом з додатком, в якому використовується ця бібліотека.
|
|
Переваги статичних бібліотек:
- статична бібліотека утворює разом з рештою додатку єдине ціле, тобто для використання додатка достатньо мати один файл типу .exe.
- простота використання за рахунок того, що використання функції зі статичної бібліотеки нічим не відрізняється від використання функцій, визначений в додатку.
Недоліки статичних бібліотек:
- бібліотеки залежать від середовища, в якому вони створені. Так, бібліотеку, яку було створено в середовищі С++ Builder, не можна використовувати в середовищі Visual Studio та навпаки;
- при зміні коду бібліотеки потрібна повторна компоновка усіх додатків, які використовують бібліотеку;
- якщо декілька додатків використовують одну і ту ж бібліотеку, копія цієї бібліотеки зберігається в пам’яті кожного додатку.
Дата добавления: 2018-05-13; просмотров: 790; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!