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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alukard Integral
0 / 0 / 0
Регистрация: 03.11.2008
Сообщений: 6
#1

Проблема с руссификатором - C++

03.11.2008, 14:50. Просмотров 861. Ответов 6
Метки нет (Все метки)

Здравствуйте. Я новичок в С++, поэтому прошу не бить тапками.

Пишу русификатор для коддинга на MVS2005. То есть если это хреновина будет работать, то можно будет выводить на консоль кирилицу без вских дополнительных функций. Делал всё по практикуму Павловской, но от него давно уже нет толку. Почти уже заработало, но выдаёт ошибку доступа к памяти, на "return 0". Не подскажите, если не затруднит, в чём проблема и как это можно решить?
Код:
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
//CyrIOS.h
#ifndef CYR_IOS_H
#define CYR_IOS_H
 
#include <iostream>
#include <iomanip>
#include <string>
#include <windows.h>
using namespace std;
 
#define MAX_STR_LEN 4096
 
class CyrOstream : public ostream
{
public: CyrOstream(_Uninitialized no_init) : ostream(no_init){}
        CyrOstream& operator << (const char*);
        CyrOstream& operator << (_Myt& (_cdecl * _f)(_Myt&));
 
 
 
private: char buf_[MAX_STR_LEN];
         char buf2_[MAX_STR_LEN];
 
};
 
extern CyrOstream cout_p;
 
#endif /*Cyr_IOS_H*/
#ifndef CYR_IOS_IMPLEMENETATION
#define cout_p cout
#endif;
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
//CyrIOS.cpp
#define CYR_IOS_IMPLEMANTATION
#include "CyrIOS.h"
 
 
CyrOstream &CyrOstream::operator << (const char* s)
{
    int n = strlen(s);
    strncpy(buf_,s,n);
    buf_[n] = 0;
    buf2_[n] = 0;
          CharToOemA(buf_, buf2_);
    cout << buf2_;
    return *this;
}
 
CyrOstream& CyrOstream::operator <<(_Myt& (_cdecl * _f)(_Myt&))
{
    cout<<_f; 
    return *this;
}
CyrOstream cout_p (_Noinit);
 
 
 
///main.cpp
#include "CyrIOS.h"
_Uninitialized a;
 
int main()
{
    CyrOstream cout = a;
    cout<<"Задолбал ваш С++";
    cout<< endl;
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2008, 14:50     Проблема с руссификатором
Посмотрите здесь:

C++ Проблема с фукнцией.
Проблема C++
Проблема с #include C++
Проблема с glLineStipple. C++
Проблема с do-while C++
C++ в чём проблема?
C++ Проблема с суммой.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Inlight
43 / 42 / 2
Регистрация: 17.09.2008
Сообщений: 98
03.11.2008, 15:10     Проблема с руссификатором #2
На MS VC++ 2008 всё работает. Скинь билдлог.
Alukard Integral
0 / 0 / 0
Регистрация: 03.11.2008
Сообщений: 6
03.11.2008, 16:11  [ТС]     Проблема с руссификатором #3
Воть.
Вложения
Тип файла: txt БилдЛог.txt (3.9 Кб, 40 просмотров)
Inlight
43 / 42 / 2
Регистрация: 17.09.2008
Сообщений: 98
03.11.2008, 16:46     Проблема с руссификатором #4
Помощь - 0 error(s), 2 warning(s)
т.е. прога компилируется, запускается, но выдаёт ошибку при выполнении, типа read_error... , так? Тогда попробуй просто собрать прогу, а экзешник запустить отдельно. Ещё можешь попробовать переименовать проект из Помощь в что-нибудь с английскими символами (хотя врятли это из-за этого, но вдруг поможет..)
Alukard Integral
0 / 0 / 0
Регистрация: 03.11.2008
Сообщений: 6
03.11.2008, 16:50  [ТС]     Проблема с руссификатором #5
Цитата Сообщение от Inlight Посмотреть сообщение
т.е. прога компилируется, запускается, но выдаёт ошибку при выполнении, типа read_error... , так? Тогда попробуй просто собрать прогу, а экзешник запустить отдельно. Ещё можешь попробовать переименовать проект из Помощь в что-нибудь с английскими символами (хотя врятли это из-за этого, но вдруг поможет..)
Не совсем. Выдаётся ошибка Unhandled exception at 0x104877f5 in Помощь.exe: 0xC0000005: Access violation reading location 0xccccccd0. По-нашему, говорит что вышёл за выделенную область памяти или что-то вэтом роде. Но как от это избавится-хрен его знает. Динамической памяти вроде не используем, поэтому ума не приложу из-за чего такая ошибка выскакивает.
Inlight
43 / 42 / 2
Регистрация: 17.09.2008
Сообщений: 98
03.11.2008, 17:12     Проблема с руссификатором #6
Попробуй по F11 прогнать, может заметишь чего. Мой билдлог, может быть поможет...
Вложения
Тип файла: zip BuildLog.zip (1.4 Кб, 19 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2008, 17:23     Проблема с руссификатором
Еще ссылки по теме:

C++ проблема с указателями
C++ проблема с ReadFile()
C++ Проблема с fwrite
C++ проблема с компиляцией

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Alukard Integral
0 / 0 / 0
Регистрация: 03.11.2008
Сообщений: 6
03.11.2008, 17:23  [ТС]     Проблема с руссификатором #7
Цитата Сообщение от Inlight Посмотреть сообщение
Попробуй по F11 прогнать, может заметишь чего. Мой билдлог, может быть поможет...
Не знаю чем билдблог будет полезен.

F11 тоже мало что дал:когда натыкается на него компилятор, выкидывает куда-то и сразу появляется окно с сообщением ошибки:"Unhandled exception at 0x104877f5 in Помощь.exe: 0xC0000005: Access violation reading location 0xccccccd0.".

Люди, ПОМОГИТЕ!!
Yandex
Объявления
03.11.2008, 17:23     Проблема с руссификатором
Ответ Создать тему
Опции темы

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