HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1801  
Старый 08.11.2008, 00:04
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

Репутация: 54
По умолчанию

Цитата:
Потом head = размеру выделенной памяти?
не размеру, а адресу
 
Ответить с цитированием

  #1802  
Старый 08.11.2008, 00:13
vikseriq
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме:
299231

Репутация: 107
Отправить сообщение для vikseriq с помощью ICQ
По умолчанию

Не забивай себе голову, делай так:
Код:
curr->next  = head = curr;
 
Ответить с цитированием

  #1803  
Старый 09.11.2008, 02:23
ntldr
Постоянный
Регистрация: 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()
{
    
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.
 
Ответить с цитированием

  #1804  
Старый 09.11.2008, 02:43
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию

Клиент:
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>

int _tmain(int argc_TCHARargv[])
{
    
HANDLE hFile;
    
char *servName "\\\\.\\Mailslot\\Laba2", *p;
    
char s[20];
    
s;
    
DWORD d 20;                
    
LPDWORD lp = &d;
    
//открываем существующий файл или создаем новый
    
hFile CreateFile(servNameGENERIC_WRITE FILE_SHARE_READ,
            
NULLOPEN_EXISTINGFILE_ATTRIBUTE_NORMALNULL);
    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(hFilesstrlen(s), lpNULL);
      
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_TCHARargv[])
{
    
HANDLE pMailslot;
    
char *servName "\\\\.\\Mailslot\\Laba2", *p;
    
char s[5];

    
s;

    
DWORD d 150;
    
LPDWORD lp = &d;
    
pMailslot CreateMailslot(servName0MAILSLOT_WAIT_FOREVERNULL);

    if(
pMailslot == INVALID_HANDLE_VALUE)
      
cout<<"Don't create!!!";
    else
      
cout<<"Create server!!!";
    
    
//считывем из файла 7 байт
    
BOOL res ReadFile(pMailslotp5lpNULL); 
    
cout<<endl;
    
cout<<" Message from client: "<<endl;
    
p[5]='\0';
    
cout<<p<<endl;
    
CloseHandle(pMailslot);
    
int a;
    
cin>>a;

Попробуй ето!! всё рабоать должно!!
 
Ответить с цитированием

  #1805  
Старый 09.11.2008, 18:29
Zitt
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме:
5885100

Репутация: 773


Отправить сообщение для Zitt с помощью ICQ
По умолчанию

Вобщем нужно небольшой скриптик который выводит список папок в фаил.. Например;
/home/$papka/user/$papka1
Имя папки1 нужно записать фаил....
т.е. заходим в /home/ получае имя всех директорий, заходим в подпапку /users/ опять получаем название папок и записываем в фаил.. и так в цикл...

новояйте кому не трудно...
 
Ответить с цитированием

  #1806  
Старый 09.11.2008, 22:16
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию

имеется переменная char следующего содержания:
+ bios_char 0x0012ee1c "021102E04BF90102000000000" char [51]

Как получить из первых двух байт 20 значения 512? типа из дампа десятичное значение!!
 
Ответить с цитированием

  #1807  
Старый 09.11.2008, 22:32
jawbreaker
Участник форума
Регистрация: 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;
}
 
Ответить с цитированием

  #1808  
Старый 09.11.2008, 23:17
criz
Постоянный
Регистрация: 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);
                }
            }
        }
    }
 
Ответить с цитированием

вывод матрицы на форму
  #1809  
Старый 10.11.2008, 00:30
4erry
Новичок
Регистрация: 09.11.2008
Сообщений: 1
Провел на форуме:
3876

Репутация: 0
Exclamation вывод матрицы на форму

помогите пожалуйста с выводом матрицы на форму...
вот код самой программы: (это вывод просто на консольку)

Код:
/* Сформировать квадратную матрицу 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#
 
Ответить с цитированием

  #1810  
Старый 10.11.2008, 02:49
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию

имеется char[] , там храниться hex значение, как перевести в десятичное ?? с меня плюсы!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ