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

24.04.2009, 13:16
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 _SEREGA_ 5005 статей по Delphi (aka Delphi World) раздел Интернет и сети \ Сокеты
Статьи "Сокеты 1","Сокеты 2 (Кодинг блокирующих сокетов) ", "Сокеты 3 (Кодинг неблокирующих сокетов)"
Там расписаны непосредственно прототипы функций и описание для чего они юзаются и есть небольшие примеры. Описание прототипов в сишном формате, а пример дельфовый(но разницы собой нет. Апи оно и на Марсе Апи)
|
|
|

24.04.2009, 15:40
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Спасибо конечно но токо где эти статьи?
ппц, это уже не смешно, тебе впадлу гугл заюзать или на пару кнопок нажать?
подобное уже обсасывалось сто раз, статей уйма.
|
|
|

24.04.2009, 18:05
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
ss88,Не люблю копаться в чужих кодах.... Давай на словах. Имеется в виду, что надо сосканировать предложение, разбить на слова и... а дальше чо? "Заностится в бинарно дерево" по какому принципу? Если просто слова по-порядку, то просто забить слова в структуру (массив), а дальше их печатать в виде дерева (всмысле в каждой строке увеличиваем колличество распечатываемых слов в 2 раза). В этом коде слишком муторно разбираться...
|
|
|

25.04.2009, 12:33
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
PHP код:
char * newInt = new char[20];
newInt = "sdfdsfsdfdsf";
cout << newInt << endl;
for(int i=0; i < 300; i++, newInt++)
cout << *newInt;
учу С++ по книжке, есть вопрос.
первый цаут выводит полную строку, а второй -
sdfdsfsdfdsbasic_string::atbasic_string::copybasic _string::compare
и после самой строки там непечатных символа, которые никак не копируются.
Скажите, куда эт я залез и если изменить эту информацию по указателю - могу ли я испортить работу другой программы или подвесить свою?
Свободная память для каждой программы своя?
|
|
|

25.04.2009, 13:05
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
могу ли я испортить работу другой программы или подвесить свою
У каждого процесса свое виртуальное адрессное пространство, читаем про виртуальный режим.
sdfdsfsdfdsbasic_string::atbasic_string::copybasic _string::compare
У тебя строка sdfdsfsdfdsf длинной 12 символов, а ты выводишь данные за указателем тк i < 300 (а именно все то что лежит за этой строкой)
Так же у тебя будет тут утечка памяти вот тут
Так как ты указателю который указывает на выделенную в куче память присваиваешь адрес строки которая лежит в локальном стеке ф-ции, то теряется выделенный блок памяти, правильно сделать так:
Код:
strcpy(newInt, "sdfdsfsdfdsf");
тогда наша строка будет лежать в куче.
Также не забываем вызывать delete/delete[] после того как выделенная память не нужна.
Последний раз редактировалось razb; 25.04.2009 в 13:15..
|
|
|

25.04.2009, 13:48
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме: 744734
Репутация:
44
|
|
Помогите составить программу на Си, которая бы открывала текстовый файл с набором русских английских симовлов и цифр и выводила всё кроме 0-9 A-Z и a-z
Я попытался сделать вот так (программа выводящая все символы кроме 0 и 1), но что-то не работает  ((
Код:
#include <stdio.h>
#include <string.h>
#define file "C:\\aq.txt"
main()
{FILE * pfr;
char m[200];
pfr=fopen(file,"r");
if (pfr==NULL)
{printf("ошибка при открытии");
exit(-1);}
while (fgets(m,200,pfr)!=NULL);
{int i,j;
M1: if (m[i]!='0' || m[i]!='1'); // если символ неравен 0 или 1, то
printf("%S %d", m, i); // вывести его
esle (m[i]=m[i+1]); // иначе - перейти к следующему символу
goto M1; // вернуться к проверке этого символа
}
}
|
|
|

25.04.2009, 14:16
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
Mosvit
1. main() - должна возвращать тип int и иметь в конце return 1;
2. после while сразу стоит ;
3. int i,j; не надо объявлять в цикле
4. вместо goto как раз таки используется while
и ещё:

|
|
|

25.04.2009, 14:21
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Помогите составить программу на Си, которая бы открывала текстовый файл с набором русских английских симовлов и цифр и выводила всё кроме 0-9 A-Z и a-z
Если не напутал, то вот поидее
Код:
#include <stdio.h>
void main()
{
FILE *in;
char ch;
in = fopen("in.txt", "r");
while(ch != EOF)
{
ch = fgetc(in);
if((ch < 48 || ch > 57) && (ch < 65 || ch > 90) && (ch < 97 || ch > 122)) printf("%c", ch);
}
fclose(in);
}
|
|
|

25.04.2009, 15:20
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
PHP код:
// создал указатель (?) на поток
ifstream infile;
// открыл файл
infile.open ("C:\\file2.txt");
// пытаюсь получить размер файла
int size = filesize(infile);
int filesize(ifstream infile){
infile.seekg(0, ifstream::end);
int size = infile.tellg();
infile.seekg(0);
return size;
};
но не получается.
ошибка в строке
PHP код:
int size = filesize(infile);
// initializing argument 1 of `int filesize2(std::ifstream)'
как передать этот указатель в функцию, чтобы она определила размер файла?
|
|
|

25.04.2009, 15:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Напиши
int filesize(ifstream &infile)
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|