ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

08.05.2009, 18:02
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме: 560332
Репутация:
15
|
|
Сообщение от Mosvit
Извеняюсь за нубский вопрос. Но ведь существуют версии языков C/С++ с компонентами (кнопки, списки, скроллбары и т.п) а бывают без (т.е. консольные).
Как их различать? У них есть какое-то название?
дак вроде их просто компилируют по разному и все :\ и это не версии языка разные, а просто библиотеки подключают специальные. WindowsForms/Qt/GTK+ и др.
|
|
|

08.05.2009, 18:16
|
|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
парни, вы все не так поняли, си++ - это с формами, а си - это консольный! ставишь ++ extension и си становится с формочками!!111 я гарантирую
|
|
|

08.05.2009, 18:28
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
не путать молодежь такими сложными шутками, а то и вправду поверят. с++ - это язык. по дефолту у него есть классы для работы с потоками ввода вывода, файлами, процессами. но не с окнами.
окна - это уже функционал, берущийся из операционки. юзается либо через API, либо через фреймворки аля Qt и иже с ними.
|
|
|

08.05.2009, 22:52
|
|
Участник форума
Регистрация: 02.11.2008
Сообщений: 222
Провел на форуме: 3459722
Репутация:
155
|
|
есть задача:
Записать стори в конец файла.(В файл hosts) у меня вот такой код в visual C++ 2008 не робит ,скажите какие надо билиотеки и что ввобще надо дописать.
Код:
int main()
{
ofstream out("%windir$\WINDOWS\system32\drivers\etc\hosts", ios::app);
out << "строки " << endl;
out.close();
return 0;
}
помогите довести код до рабочего состояния
|
|
|

08.05.2009, 23:19
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Код:
#include <iostream>
#include <fstream>
#include <iosfwd>
int main(int argc, char* argv[])
{
std::ofstream of;
char* strings [] = {"aaa", "fff", "rrterqwer", "dasdasd", "asddsa"};
of.open("%windir$\\WINDOWS\\system32\\drivers\\etc\\hosts", std::ios::app);
for(int i = 0; i < sizeof(strings) / sizeof(strings[0]); i++){
of << strings[i] << '\n';
}
of.close();
return 0;
}
|
|
|

09.05.2009, 00:11
|
|
Участник форума
Регистрация: 02.11.2008
Сообщений: 222
Провел на форуме: 3459722
Репутация:
155
|
|
копилирется без ошибок но переменная %windir% не работает ,если укозать полный путь то все ок а если %windir% то не добавит!
PHP код:
#include <stdafx.h>
#include <iostream>
#include <fstream>
#include <iosfwd>
int main(int argc, char* argv[])
{
std::ofstream of;
char* strings [] = {"aaa", "fff", "rrterqwer", "dasdasd", "asddsa"};
of.open("%windir%\\WINDOWS\\system32\\drivers\\etc\\hosts", std::ios::app);
for(int i = 0; i < sizeof(strings) / sizeof(strings[0]); i++){
of << strings[i] << '\n';
}
of.close();
return 0;
}
Последний раз редактировалось waik; 09.05.2009 в 00:16..
|
|
|

09.05.2009, 00:26
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
спользуй апи GetWindowsDirectory
char windows_dir [MAX_PATH + 1];
GetWindowsDirectory(windows_dir, MAX_PATH);
[added]
кароч так. string заюзал ибо впадлу гоношица с ручным управлением памятью под строку пути до хостс.
Код:
#include <iostream>
#include <fstream>
#include <iosfwd>
#include <string>
#include <Windows.h>
int main(int argc, char* argv[])
{
using namespace std;
std::ofstream of;
char* strings [] = {"aaa", "fff", "rrterqwer", "dasdasd", "asddsa"};
char windows_dir [MAX_PATH + 1];
GetWindowsDirectory(windows_dir, MAX_PATH);
string hosts_path = string(windows_dir) + string("\\system32\\drivers\\etc\\hosts");
of.open(hosts_path.c_str(), std::ios::app);
for(int i = 0; i < sizeof(strings) / sizeof(strings[0]); i++){
of << strings[i] << '\n';
}
of.close();
return 0;
}
Последний раз редактировалось Ra$cal; 09.05.2009 в 00:33..
|
|
|

09.05.2009, 00:38
|
|
Участник форума
Регистрация: 02.11.2008
Сообщений: 222
Провел на форуме: 3459722
Репутация:
155
|
|
пишут ошибку компиляций
error C2664: GetWindowsDirectoryW: невозможно преобразовать параметр 1 из 'char [261]' в 'LPWSTR'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
|
|
|

09.05.2009, 00:50
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
пля. в 2008 студее по дефолту все строки - юникод. ну напиши GetWindowsDirectoryA, если он не будет настаивать на юникоде то должен скомпилить.
Последний раз редактировалось Ra$cal; 09.05.2009 в 00:53..
|
|
|

09.05.2009, 00:59
|
|
Участник форума
Регистрация: 02.11.2008
Сообщений: 222
Провел на форуме: 3459722
Репутация:
155
|
|
Ra$cal спасибо выручил!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|