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

08.11.2008, 00:04
|
|
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме: 369629
Репутация:
54
|
|
Потом head = размеру выделенной памяти?
не размеру, а адресу
|
|
|

08.11.2008, 00:13
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Не забивай себе голову, делай так:
Код:
curr->next = head = curr;
|
|
|

09.11.2008, 02:23
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
В чем может быть проблема -
Создаю ящик и жду данные
PHP код:
#include <windows.h>
#include <conio.h>
#include <iostream>
using namespace std;
HANDLE slot;
char buffer[255];
int n;
int main()
{
slot = CreateMailslotA("\\\\.\\mailslot\\mail1",0,MAILSLOT_WAIT_FOREVER,0);
ReadFile(slot,(void*)buffer,7,(LPDWORD)n,0);
cout << buffer;
_getch();
CloseHandle(slot);
return 0;
}
Открываю ящик и пишу данные
PHP код:
#include <windows.h>
#include <conio.h>
#include <iostream>
using namespace std;
HANDLE h;
int n;
int main()
{
h = CreateFileA("\\\\.\\mailslot\\mail1",GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);
WriteFile(h,"testeng",7,(LPDWORD)n,0);
CloseHandle(h);
return 0;
}
В то время когда я начинаю писать в ящик, оба приложения вылетают с ошибкой "Память не может быть written.
|
|
|

09.11.2008, 02:43
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
Клиент:
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hFile;
char *servName = "\\\\.\\Mailslot\\Laba2", *p;
char s[20];
p = s;
DWORD d = 20;
LPDWORD lp = &d;
//открываем существующий файл или создаем новый
hFile = CreateFile(servName, GENERIC_WRITE , FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
puts("Error server create!!!");
else
{
puts("Ok server find!!!");
puts("Please enter some text in file:");
gets(p);
//присваиваем концу строки нулевой символ
s[strlen(s)]='\0';
//запись в файл
WriteFile(hFile, s, strlen(s), lp, NULL);
gets(p);
CloseHandle(hFile);
}
return 0;
}
Сервер:
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE pMailslot;
char *servName = "\\\\.\\Mailslot\\Laba2", *p;
char s[5];
p = s;
DWORD d = 150;
LPDWORD lp = &d;
pMailslot = CreateMailslot(servName, 0, MAILSLOT_WAIT_FOREVER, NULL);
if(pMailslot == INVALID_HANDLE_VALUE)
cout<<"Don't create!!!";
else
cout<<"Create server!!!";
//считывем из файла 7 байт
BOOL res = ReadFile(pMailslot, p, 5, lp, NULL);
cout<<endl;
cout<<" Message from client: "<<endl;
p[5]='\0';
cout<<p<<endl;
CloseHandle(pMailslot);
int a;
cin>>a;
}
Попробуй ето!! всё рабоать должно!!
|
|
|

09.11.2008, 18:29
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
Вобщем нужно небольшой скриптик который выводит список папок в фаил.. Например;
/home/$papka/user/$papka1
Имя папки1 нужно записать фаил....
т.е. заходим в /home/ получае имя всех директорий, заходим в подпапку /users/ опять получаем название папок и записываем в фаил.. и так в цикл...
новояйте кому не трудно...
|
|
|

09.11.2008, 22:16
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
имеется переменная char следующего содержания:
+ bios_char 0x0012ee1c "021102E04BF90102000000000" char [51]
Как получить из первых двух байт 20 значения 512? типа из дампа десятичное значение!!
|
|
|

09.11.2008, 22:32
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
Zitt
Код:
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <vector>
#include <string>
#include <iostream>
using namespace std;
int getdir (string dir, vector<string> &files)
{
DIR *dp;
struct dirent *dirp;
if((dp = opendir(dir.c_str())) == NULL) {
cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
files.push_back(string(dirp->d_name));
}
closedir(dp);
return 0;
}
int main()
{
string dir = string(".");
vector<string> files = vector<string>();
getdir(dir,files);
for (unsigned int i = 0;i < files.size();i++) {
cout << files[i] << endl;
}
return 0;
}
|
|
|

09.11.2008, 23:17
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
2 Zitt, вот еще примерчик, откопал в ахивах
Код:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define MAX 100
void FindDir();
main(int argc, char *argv[])
{
FindDir("C:\\", "*.*");
}
void FindDir(char* path,char* mask)
{
WIN32_FIND_DATA wfd;
char file[100] = "";
HANDLE hfound;
char newpath[MAX_PATH];
char fpath[MAX_PATH];
char delpath[MAX_PATH];
FILE *f;
strcpy(fpath,path);
strcat(fpath,"\\");
strcpy(delpath,fpath);
strcat(fpath,mask);
f = fopen("dirs.txt", "a");
if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)
{
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
//
printf("Error: %d\n", GetLastError());
}
while(FindNextFile(hfound,&wfd))
{
int i = 1;
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
i = 0;
}
if(i && (strcmp(wfd.cFileName, "..") != NULL))
fprintf(f, "%s\n", wfd.cFileName);
}
}
fclose(f);
FindClose(hfound);
strcpy(fpath,path);
strcat(fpath,"\\*.*");
if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)
{
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
strcpy(newpath,path);
strcat(newpath,"\\");
strcat(newpath,wfd.cFileName);
FindDir(newpath,mask);
}
while(FindNextFile(hfound,&wfd))
{
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
strcpy(newpath,path);
strcat(newpath,"\\");
strcat(newpath,wfd.cFileName);
FindDir(newpath,mask);
}
}
}
}
|
|
|

10.11.2008, 00:30
|
|
Новичок
Регистрация: 09.11.2008
Сообщений: 1
Провел на форуме: 3876
Репутация:
0
|
|
вывод матрицы на форму
помогите пожалуйста с выводом матрицы на форму...
вот код самой программы: (это вывод просто на консольку)
Код:
/* Сформировать квадратную матрицу A(15,15) следующего вида:
* 0 0 0 ... 0 1
* 0 0 0 ... 1 0
* .............
* 0 1 0 ... 0 0
* 1 0 0 ... 0 0
*/
using System;
namespace Task2
{
class ArrayDemo
{
public static void Main(string[] args)
{
Console.Title = "";
Console.BackgroundColor = ConsoleColor.White;//цвет формы
Console.ForegroundColor = ConsoleColor.Black;//цвет текста формы
do
{
const uint N = 15;
int[,] A = new int[N, N];
Console.Clear();
solution(A, N);
write(A, N);
Console.WriteLine();
Console.WriteLine("Нажмите Esc для выхода!");
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
}
static void solution(int[,] arr, uint l)
{
for (int i = 0; i < l; i++)
for (int j = 0; j < l; j++)
if (i + j == l - 1)
arr[i, j] = 1;
}
static void write(int[,] arr, uint l)
{
for (int i = 0; i < l; i++,Console.WriteLine())
for (int j=0;j<l;j++)
Console.Write(arr[i,j] + " ");
}
}
}
а вот программка,где я создаю формочку...
Код:
using System;
using System.Windows.Forms;
using System.Drawing;
class ButtonForm : Form
{
Button MyButton;
Button StopButton;
Label lblOutput;
public ButtonForm()
{
Text = "Кнопочки";
lblOutput =new Label();
MyButton = new Button();
MyButton.Text = "Start";
MyButton.Location = new Point(100, 200);
StopButton = new Button();
StopButton.Text = "Exit";
StopButton.Location = new Point(200, 200);
//добавляем в список обработчик событий кнопки.
MyButton.Click += new EventHandler(MyButtonClick);
Controls.Add(MyButton);
StopButton.Click += new EventHandler(StopButtonClick);
Controls.Add(StopButton);
}
[STAThread]
public static void Main()
{
ButtonForm skel = new ButtonForm();
Application.Run(skel);
}
//обработчик для кнопки MyButton.
protected void MyButtonClick(object who, EventArgs e)
{
lblOutput.Location = new Point(20, 40);
lblOutput.Size = new Size(216, 24);
lblOutput.Text = "1 2 3 4 5\n1 2 3 4 5\n";
lblOutput.Location = new Point(40, 40);
Controls.Add(lblOutput);
}
//обработчик событий для кнопки StopButton.
protected void StopButtonClick(object who, EventArgs e)
{
//если пользователь ответит щелчком на кнопке Yes,
//программа будет завершена.
DialogResult result = MessageBox.Show("Остановить программу?",
"Завершение",
MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
Application.Exit();
}
}
вопрос в том,как вывести матрицу из первого кода на форму из второго??? с помощью Label.Text не получается=((помогите пожалуйста..
П.С.прога делается в C#
|
|
|

10.11.2008, 02:49
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
имеется char[] , там храниться hex значение, как перевести в десятичное ?? с меня плюсы!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|