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

19.02.2009, 19:30
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Код:
#include <iostream>
using namespace std;
void print_out (int n);
int main ()
{
int n;
cout << "enter number ";
cin >> n;
cout << "celye chisla do" << n << endl;
print_out (n) ;
return 0;
}
void print_out (int n)
{
for (int i=0; i<n; cout << ++i << ", ") ;
}
...
Последний раз редактировалось .Slip; 19.02.2009 в 19:35..
|
|
|

19.02.2009, 19:35
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Объясню, что написл Slip - cout не перегружен для работы с void-типами, и это нормально, это в логике вещей, нельзя вывести то, чего нет. А твоя функция возвращает void тип, который ты и пытаешься вывести. Следовательно, чтобы убрать эту ошибку нужно вызывать твою функцию вне cout;
|
|
|

19.02.2009, 19:40
|
|
Познающий
Регистрация: 08.07.2008
Сообщений: 63
Провел на форуме: 180959
Репутация:
14
|
|
2.Slip ты моя радость ))
а в книжке в похожем примере написано что вот так
cout << "celye chisla do" << n << "-" << print_out (n);
одной строкой можно.
спасибо, ты сделал мне мультиоргазм)
2 groundhog отлично объяснил. спасибо
|
|
|

19.02.2009, 19:45
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
а в книжке в похожем примере написано что вот так
cout << "celye chisla do" << n << "-" << print_out (n);
Можно, если ф-я возвращает какое либо значение (groundhog же написал):
Код:
#include <iostream>
using namespace std;
int print_out(int n);
int main ()
{
int n;
cout << "enter number ";
cin >> n;
cout << endl << print_out(n) << endl;
return 0;
}
int print_out(int n)
{
return n*10;
}
|
|
|

19.02.2009, 19:50
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Вообще в С++ ф-я может возвращать только одно значение. Если хочешь что бы ф-я изменяла и "возвращала" множество данных в другой области видимости, то указатели/ссылки тебе в помошь.
|
|
|

19.02.2009, 22:08
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Подскажите по этому коду, почему невыводится ип подконектившегося клиента?
Код:
struct datas
{
SOCKET ss;
SOCKADDR_IN sadr;
};
DWORD WINAPI twins(LPVOID lParam)
{
datas *params=(datas*)lParam;
SOCKET s;s=params->ss;
char *buf=new char[1024];
for(;;)
{
recv(s,buf,1024,0);
Sleep(500);
send(s,buf,strlen(buf),0);
if(strcmp(buf,"exit")==0){break;}
memset(buf,NULL,strlen(buf));
}
delete []buf;
}
int main()
{
DWORD id;
SOCKET sin,sout;WSADATA wsd;
SOCKADDR_IN ladr,cadr;
datas params;
WSAStartup(MAKEWORD(2,0),&wsd);
ladr.sin_family=AF_INET;
ladr.sin_port=htons(250);
ladr.sin_addr.s_addr=0;
sin=socket(AF_INET,SOCK_STREAM,0);
bind(sin,(sockaddr*)&ladr,sizeof(ladr));
for(;;)
{
Sleep(300);
listen(sin,10);
int sz=sizeof(cadr);
sout=accept(sin,(sockaddr*)&cadr,&sz);
params.ss=sout;
params.sadr=cadr;
getpeername(sout,(sockaddr*)&cadr,&sz);
printf("\n",inet_ntoa(cadr.sin_addr));
CreateThread(0,0,&twins,(void*)¶ms,0,&id);
}
//WSACleanup();
}
|
|
|

20.02.2009, 03:00
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
вопрос такой, как из Си под линукс определить версию ОС? Есть ли какая-то функция?
компилируется GCC
|
|
|

20.02.2009, 04:54
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
ss88, uname()
|
|
|

20.02.2009, 12:48
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
спасибо, но на такое ругается
поступил так system("uname -a >>results.txt")
|
|
|

20.02.2009, 13:11
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Блин, ну ты и геморойщик.
Слабо было использовать просто функцию, а не запускать программу, использующую эту функцию?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|