Форум программистов, компьютерный форум CyberForum.ru

Программа для вывода русских букв - C++

Восстановить пароль Регистрация
 
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 199
31.03.2014, 15:03     Программа для вывода русских букв #1
Добрый день форумчане. Есть программа взятая с учебника, мной не однократно проверенная, на правильность списания, но отказывающая работать. Конечно есть куча других способов таких как настройка локали и т.п., но все таки хотелось бы разобраться где здесь собака зарыта)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<iostream>
#include<cstring>
#include<new>
#include<windows.h>
#include"converts.h"
using std::strlen;using std::cout;using std::endl;using std::bad_alloc;using std::strcpy;
//Вывод строки в кодировке CP866
void print_cp866(const char *str, short int x){
    char *buf;
    try {
        buf=new char[strlen(str)+1];
    }
        catch (bad_alloc err){
            return;
        }
        CharToOemA(str, buf);
        switch (x) {
        case 0: cout<<buf;break;
        case 1: cout<<buf<<endl;break;
        case 2: cout<<buf<<" ";break;
        default: cout<<buf;break;
        }
        delete [] buf;
 
}
//Преобразование строки в кодировку cp866
        void convert_to_cp866(char *str) {
            char *buf;
            try {
                buf=new char[strlen(str)+1];
            }
                catch (bad_alloc err) {
                    return;
                }
                CharToOemA(str, buf);
                //strcpy(str,buf);//для MinGW
                strcpy_s(str, strlen(str)+1, buf);//для Visual C++
                delete [] buf;
        }
        // Преобразование строки в кодировку winwows-1251
        void convert_to_cp1251(char *str) {
            char *buf;
            try {
                buf=new char[strlen(str)+1];
            }
            catch (bad_alloc err) {
                return;
            }
            OemToCharA(str,buf);
            //strcpy(str,buf);//для MinGW
            strcpy_s(str, strlen(str)+1, buf);//для Visual C++
            delete [] buf;
        }
converts.h
C++
1
2
3
4
5
6
7
8
#ifndef CONVERTS_H
#define CONVERTS_H
const short int PRINT_ENDL=1;
const short int PRINT_SPACE=2;
void print_cp866(const char *str, short int x=0);
void convert_to_cp866(char *str);
void convert_to_cp1251(char *str);
#endif
Имя файлов совпадают.
1>------ Построение начато: проект: str_40_russ_bukv_ne_v_visial_c++, Конфигурация: Debug Win32 ------
1>LINK : fatal error LNK1561: точка входа должна быть определена
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.03.2014, 15:07     Программа для вывода русских букв #2
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
1>LINK : fatal error LNK1561: точка входа должна быть определена
main() где?
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 199
31.03.2014, 15:23  [ТС]     Программа для вывода русских букв #3
В учебнике ее нет. Я побывал все в файле .cpp взять в в main. Выдает кучу ошибок. Может он здесь и нужен но тогда я не знаю какой код в него заключать.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.03.2014, 15:30     Программа для вывода русских букв #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
Может он здесь и нужен
Она (main()) везде нужна, без этого, просто, не скомпилируется.

Добавлено через 3 минуты
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
Я побывал все в файле .cpp взять в в main.
Не нужно всё, просто добавьте, в файл, с реализациями функций (.cpp), в конце:
C++
1
2
3
4
5
6
int main()
{
   
    system("pause");// добавить #include <cstdlib>
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
но тогда я не знаю какой код в него заключать.
Код работы со строками (использование объявленных функций).
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 199
31.03.2014, 15:33  [ТС]     Программа для вывода русских букв #5
alsav22, компилируется. Теперь буду разбираться в работе программы. Если что отпишусь).
Yandex
Объявления
31.03.2014, 15:33     Программа для вывода русских букв
Ответ Создать тему
Опции темы

Текущее время: 14:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru