|
|
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
Что-то не понимаю как вызывать функции записанные в другом файле. В статьях которые читал написано что достаточно подключить файл с необходимыми функциями и все должно работать, только что-то там упущено или это особенности работы в IDE непонимаю. =Файл с точкой входа#include "server.cpp" #include "stdafx.h" #include <fstream> #include <string> #include <windows.h> using namespace std; void SetColor(ConsoleColor text, ConsoleColor background) { HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); } int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Rus"); cfgdb(); MYSQL *conn; string usr_cmd; conn = mysql_init(NULL); bool cmd = TRUE; while (cmd == TRUE) { cin >> usr_cmd; if (usr_cmd == "stop") { cmd++; mysql_close(conn); SetColor(LightGreen, Black); cout << "Соединение с базой данных закрыто" << endl; SetColor(LightGray, Black); cout << "Сервер завершит работу через 10 секунд" << endl; Sleep(10000); exit(0); } else { SetColor(LightRed, Black); cout << "Неверная команда" << endl; SetColor(LightGray, Black); } } Sleep(10000); cout << "exit" << endl; system("Pause"); return 0; } = подключаемый файл#include "stdafx.h" #include <fstream> using namespace std; void cfgdb() { cout << "Читаем параметры" << endl; char buff[50]; char simbol = '0'; string host = "host"; string login = "login"; string pass = "pass"; string db_name = "db_name"; int x = 0; int i; char word[20]; char word1[20]; char test[100]; ifstream infile("F:/Zoracon/server/ConsoleApplication2/x64/Debug/server.cfg"); if (!infile) { cout << "Ошибка открытия файла конфигурации сервера" << endl; infile.close(); system("pause"); exit(0); } else while (simbol != NULL) { infile.getline(buff, 100); simbol = buff[0]; if (simbol == '$') { for (i = 2; buff[i] != '='; i++) x = i + 2; for (i = 1; buff[i] != '#'; i++) word1[i - 1] = buff[i]; for (i = x; buff[i] != '#'; i++) { simbol = buff[i]; word[i - x] = simbol; } word[i - x] = '\0'; word1[x - 2] = '\0'; if (word1 == host) host = word; else if (word1 == login) login = word; else if (word1 == pass) pass = word; else if (word1 == db_name) db_name = word; else; } else; } cout << "Запуск сервера" << endl; MYSQL *conn; // Получаем дескриптор соединения conn = mysql_init(NULL); if (conn == NULL) { // Если дескриптор не получен – выводим сообщение об ошибке fprintf(stderr, "Error: can'tcreate MySQL-descriptor\n"); //exit(1); //Если используется оконное приложение } cout << "Подключаемся к базе данных" << endl; // Подключаемся к серверу if (!mysql_real_connect(conn, host.c_str(), login.c_str(), pass.c_str(), db_name.c_str(), NULL, NULL, 0)) { // Если нет возможности установить соединение с сервером // базы данных выводим сообщение об ошибке fprintf(stderr, "Error: can'tconnecttodatabase %s\n", mysql_error(conn)); } else { // Если соединение успешно установлено выводим фразу - "Success!" cout << "Соединение установлено" << endl; } } enum ConsoleColor { Black = 0, Blue = 1, Green = 2, Cyan = 3, Red = 4, Magenta = 5, Brown = 6, LightGray = 7, LightBlue = 9, LightGreen = 10, LightCyan = 11, LightRed = 12, LightMagenta = 13, Yellow = 14, White = 15 }; если я просто копирую 2 файл в первый то все работает. что я упускаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:21 |
|
||
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
tony_nomaчто я упускаю ? Азы. Начни с чтения букваря на предмет Function Declaration & Implementation. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:30 |
|
||
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, в моем букваре только русские буквы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:32 |
|
||
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
tony_noma, нет желания вчитываться в ваш код. Но общая идея очень простая. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:34 |
|
||
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
tony_nomaв моем букваре только русские буквы Тогда ищите главу "объявление функций". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:36 |
|
||
|
Разбираюсь в функциях
|
|||
|---|---|---|---|
|
#18+
tony_noma, Упрощая. В файле *.h описаны заголовки (сигнатуры) некоторых функций (объявление функции), которые полностью описаны (определены) где-то в другом файле. Вам нужно просто проследить, что всё в порядке. Файлы *.h подключены там где нужно и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2015, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39034589&tid=2018872]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 486ms |

| 0 / 0 |
