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

Включаемый файл не работает - C++

Восстановить пароль Регистрация
 
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 19:31     Включаемый файл не работает #1
Программирую в VS 2010
У меня есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
//Определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main ()
{
    cout << "Привет";
    system("PAUSE");
    return(0);
}
Чтобы не мозолились глаза SetConsoleCP и прочим я включил это в файл stdafx.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
 
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
#include <windows.h>
int text()
{
    // Прототип функции поддержки русских шрифтов
    SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
    // hndl - Указатель на структуру управления цветом
    HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return(0);
}
Ошибок никаких нету при компиляции только вот кракозябли присутствуют

Подскажите что надо сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2011, 19:31     Включаемый файл не работает
Посмотрите здесь:

exe-файл не работает на компах C++
C++ Не работает запись в файл
Не подключен файл, а работает, как так? C++
Файл: Объясните, почему не работает? C++
C++ Вывод в файл не работает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
07.01.2011, 19:38     Включаемый файл не работает #2
Цитата Сообщение от TBIKC Посмотреть сообщение
Программирую в VS 2010
У меня есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
//Определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main ()
{
    cout << "Привет";
    system("PAUSE");
    return(0);
}
Чтобы не мозолились глаза SetConsoleCP и прочим я включил это в файл stdafx.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
 
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
#include <windows.h>
int text()
{
    // Прототип функции поддержки русских шрифтов
    SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
    // hndl - Указатель на структуру управления цветом
    HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return(0);
}
Ошибок никаких нету при компиляции только вот кракозябли присутствуют

Подскажите что надо сделать
попробуй написать тело функции глобально, ну или вызывай эту функцию каждый раз
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
07.01.2011, 19:40     Включаемый файл не работает #3
функция int text() нигде не вызывается потому что
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 20:39  [ТС]     Включаемый файл не работает #4
Как это сделать?
Имбо я новичок)
Попробовал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main ()
{
    cout << "Привет";
    system("PAUSE");
    return(0);
}
int text()
{}
Ошибка - функция уже имеет текст реализации ....
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
07.01.2011, 20:43     Включаемый файл не работает #5
Вариант с вызовом, так придется строчку с text(); пихать в каждой программе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main ()
{ 
        int text();
        cout << "Привет";
        system("PAUSE");
        return(0);
}
Вариант 2: просто делаешь так и больше ничего вызывать не надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
 
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
#include <windows.h>
        // Прототип функции поддержки русских шрифтов
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        // hndl - Указатель на структуру управления цветом
        HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 20:48  [ТС]     Включаемый файл не работает #6
Если использовать 2 способ вот что вылазяет
Я кстати так уже попробовал
Миниатюры
Включаемый файл не работает  
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 20:51  [ТС]     Включаемый файл не работает #7
Да и 1 способ с ошибками:

Так как быть
Миниатюры
Включаемый файл не работает  
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.01.2011, 21:01     Включаемый файл не работает #8
TBIKC, судя по твоему коду, ты вообще полный нуб в порграммировании, прочитай для начала хотя бы Павловскую С++, а потом и справшивай че и как
и пока не поймешь хотя бы как функции писать, не залазий лучше в windows.h
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 21:09  [ТС]     Включаемый файл не работает #9
Я и не говорил что я профессионал
Я новичок только!
И Прощу помощи чтобы помогли на данном этапе обучения, не таскать за собой кусочек кода, а вложить его в заголовочный файл и включить его в основной
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
07.01.2011, 21:11     Включаемый файл не работает #10
пардон, скопировал имя функции из первой и похоже вместе с типом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main ()
{ 
        text();
        cout << "Привет";
        system("PAUSE");
        return(0);
}
в первом случае вот так. и на самом деле функция у вас ничего не возвращает, так что логичнее ее сделать void.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
 
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
#include <windows.h>
void text()
{
        // Прототип функции поддержки русских шрифтов
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        // hndl - Указатель на структуру управления цветом
        HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
}
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 21:15  [ТС]     Включаемый файл не работает #11
Сделал:

Ошибка 1 error LNK2005: "void __cdecl text(void)" (?text@@YAXXZ) уже определен в stdafx.obj C:\Users\Anton\Documents\Visual Studio 2010\Projects\TBIKC\TBIKC\TBIKC.obj TBIKC

Ошибка 2 error LNK1169: обнаружен многократно определенный символ - один или более C:\Users\Anton\documents\visual studio 2010\Projects\TBIKC\Debug\TBIKC.exe 1 1 TBIKC
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
07.01.2011, 21:21     Включаемый файл не работает #12
это уже ошибка не в коде, а в взаимосвязи файлов вашего проекта.
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 21:28  [ТС]     Включаемый файл не работает #13
Как правильно сделать тогда?
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
07.01.2011, 21:37     Включаемый файл не работает #14
Цитата Сообщение от TBIKC Посмотреть сообщение
Как правильно сделать тогда?
не пользуюсь VS, точно сказать не могу.
вы пытаетесь сделать build или compile? возможно VS пытается использовать уже собранные объектники.
попробуйте создать новый проект
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2011, 21:57     Включаемый файл не работает
Еще ссылки по теме:

C++ #include "Sales_item.h" - ошибка "включаемый файл включает самого себя"
Multimap STL - работает только запись в файл, поиск в файле не работает C++
C++ Exe-файл не работает на другом компьютере

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

Или воспользуйтесь поиском по форуму:
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 21:57  [ТС]     Включаемый файл не работает #15
Вообщем разобрался помогло тем что создал отдельный text.sys туда вписал код и заинклудил в основной .cpp
А stdafx.h видать какой то системный в него пихать нельзя свои коды )
Yandex
Объявления
07.01.2011, 21:57     Включаемый файл не работает
Ответ Создать тему
Опции темы

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