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

24.08.2009, 15:29
|
|
Новичок
Регистрация: 24.07.2009
Сообщений: 12
Провел на форуме: 55485
Репутация:
0
|
|
multiple definition of 'abonent::abonent()'
first defined here
Че за ошибка?
|
|
|

24.08.2009, 16:21
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
видимо конструктор объявлен не один раз.
|
|
|

24.08.2009, 16:57
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
подскажите, как можно нормально загрузить текстовый файл в массив типа string?
на данный момент хотелось бы создать массив указателей на объекты типа string, но я толком не знаю как это сделать. string **strs; или string *strs[]; - не то.
и проблема в том, что файл режется по пробелам, а не по переводам строк.
PHP код:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string strings[1000];
string cookies;
ifstream fin("cookies.txt");
if(!fin)
{
cout << "cant open cookies.txt" << endl;
return 1;
}
int n = 0;
while(!fin.eof()){
fin >> strings[n];
cout << strings[n] << endl;
n++;
}
fin.close();
return 0;
}
|
|
|

24.08.2009, 17:40
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Дикс,
PHP код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string * strings = new string[1000]; //Массив указателей на стринг.
string cookies;
ifstream fin("123.txt");
if(!fin)
{
cout << "cant open file" << endl;
return 1;
}
int n = 0;
while(!fin.eof()){
getline(fin, strings[n]); //Читает строку.
cout << strings[n] << endl;
n++;
}
fin.close();
return 0;
}
|
|
|

24.08.2009, 23:55
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Есть ли готовая функция копирования подстроки из строки, когда известен начальный и конечный символ подстроки? Объясню. Есть строка
Начальный символ 6, конечный 11. Функция должна возвратить слово world.
Ну или же не возвращать, а записывать в переменную, всеравно...
|
|
|

25.08.2009, 00:12
|
|
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме: 2584134
Репутация:
519
|
|
уже разобрался)
|
|
|

25.08.2009, 00:12
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
во первых чтобы бесконечно выводить можно просто написать while(true)
во-вторых месаджбокс синхронный и останвливает поток, вызвавший функцию. нажми он и выскочит еще один. если хочешь много много окошек делать - или создавай потоки и в них уже вызов месаджбокса. вариант второй - в ресурсах создай окошко и создавай его немоадальным через апи CreateDialog
|
|
|

25.08.2009, 00:30
|
|
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме: 2584134
Репутация:
519
|
|
Да меня сам принцип работы интерисовал)
А возможно сделать чтото типа такого:
.................................................. ....................................
int MessageBox( HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
.................................................. ....................................
Допустим мы имеем:
MessageBox(NULL,L"TEST",L"CAPTION",MB_OK);
И сделать условие типа:
if(lpText == "TEST")
{
............
}
У меня почемуто не получалось, говорит что lpText не объявлен, но он ведь должен объявлятся в самой функцие, не так ли?
|
|
|

25.08.2009, 00:57
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
=)) советую все таки книжки для начинающих почитать. что такое область видимости, параметры по значению и по ссылке. имя параметра, принимаемого функцией, использовать у себя нельзя. иначе бы ты тупо запарился выбирать незанятые имена, да и ни к чему такое. хочешь проверить что передаешь - делай переменную со строкой, передавай ее и проверяй.
char text [] = {"TEST"};
MessageBox(0, text, "caption", MB_OK);
if(strcmp(text, "TEXT") == 0{
...
}
и готовься к головной боли со строковыми функциями. ибо для анси, юникод и _TEXT свои функции... и вообще используй класс string. но для начала почитай книжки. не учится с++ методом глупого набирания кода и мольбы о работе.
|
|
|

25.08.2009, 11:11
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Сообщение от mailbrush
Есть ли готовая функция копирования подстроки из строки, когда известен начальный и конечный символ подстроки? Объясню. Есть строка
Начальный символ 6, конечный 11. Функция должна возвратить слово world.
Ну или же не возвращать, а записывать в переменную, всеравно...
PHP код:
char * pczHw = "hello world!";
char * pczBuff[100];
ZeroMemory(pczBuff,100);
memcpy(pczBuff,pczHw+6,5);
Memcpy кпирует 5 символов с 6, т.е. с 6 по 11.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|