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

11.06.2010, 17:07
|
|
Новичок
Регистрация: 29.05.2010
Сообщений: 3
Провел на форуме: 64297
Репутация:
0
|
|
подскажите, как добавить свой файл (rect.h, rect.cpp) в проект с++, VS 2008?
ps когда пишу #include "rect.h" - error LNK2019: ссылка на неразрешенный внешний символ
разобрался!
помимо того чтоб указать #include "rect.h", нужно еще добавить файлы *.h, *.cpp в "обозревателе решений"
Последний раз редактировалось bipolar; 11.06.2010 в 17:55..
|
|
|

13.06.2010, 20:28
|
|
Новичок
Регистрация: 19.05.2010
Сообщений: 10
Провел на форуме: 76057
Репутация:
2
|
|
Народ подкинте литературку о функциях для работы с файлами.
Открытие/закрытие
Редактирование/Чтение из файла
Копирование/Переименование/Удаление
размер/дата создания файла и прочая инфа.
Весь гугл истоптал.
|
|
|

13.06.2010, 20:33
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
|
|
|

13.06.2010, 20:35
|
|
Новичок
Регистрация: 19.05.2010
Сообщений: 10
Провел на форуме: 76057
Репутация:
2
|
|
Честное пионерское))Просто на русском искал-одни форумы
ЗЫ
Спасибо
|
|
|

13.06.2010, 21:24
|
|
Новичок
Регистрация: 19.05.2010
Сообщений: 10
Провел на форуме: 76057
Репутация:
2
|
|
Вобщем программа
Код:
#include <vcl.h>
#include <iostream>
#include <windows>
#pragma hdrstop
#pragma argsused
using namespace std;
//----------------------
int main()
{
char str[20];
struct user
{
char name[20];
char nick[20];
char email[20];
int icq;
}userdata;
CharToOem("Введите имя\n",str);
cout << str;
cin >> userdata.name;
//--------------------------
CharToOem("Введите ник\n",str);
cout << str;
cin >> userdata.nick;
//---------------------------
CharToOem("Введите Email\n",str);
cout << str;
cin >> userdata.email;
//----------------------------
CharToOem("Введите icq\n",str);
cout << str;
cin >> userdata.icq;
//----------Вывод
cout << "\n**********\n";
cout << userdata.name << "\n" <<userdata.nick << "\n" << userdata.email << "\n" << userdata.icq << "\n-----------\n";
FILE *fp;
fp=fopen("c:\\user.txt","wt");
fprintf (fp,"%name%nick%email%icq",userdata.name,userdata.nick,userdata.email,userdata.icq);
fclose(fp);
system("pause");
}
Фишка в чем,члены структуры выводятся нормально,но при записи в файл забивает мусор.Не соответствие типов?
|
|
|

13.06.2010, 21:30
|
|
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме: 1576821
Репутация:
88
|
|
Grek
смотрим на const char * format
и для чего он нужен
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/
|
|
|

14.06.2010, 03:13
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Grek
ну и в довесок - не юзай using namespace std. если хочется упростить - делай
Код:
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
юзанье всего неймспейса - моветон.
|
|
|

14.06.2010, 21:32
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Сообщение от Ra$cal
Grek
ну и в довесок - не юзай using namespace std. если хочется упростить - делай
Код:
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
юзанье всего неймспейса - моветон.
Сори за глупый вопрос, но почему using namespace std нехорошо?
|
|
|

14.06.2010, 21:50
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
потому что могут перекрыться классы в неймспейсах, например будет класс string из stl, и класс string от стороннего поставщика с гораздо большим функционалом, например в неймспейсе megalib. Если заюзить неймспесы std и megalib будет конфликт. Так же если вы не заюзали стд, а заюзали megalib, то при использовании объявления string наверняка большинство будет думать о классе стринг из std. То же самое будет и с самим разработчиком через некоторое время. То есть теперь надо будет думать, а откуда этот класс взят. Ну и плюс все что объявлно в неймспейсе становится видимо глобально. Поэтому и не рекомендуют так делать.
И да, все юзинги писать надо в cpp файлах, а не в хидерах.
|
|
|

14.06.2010, 23:10
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Все понятно.Спасибо.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|