[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    после пределения класса, должна стоять стока с запятой.
    Code:
    class A
    {
    //some
    };
    class B
    {
    //....
    };
    
     
  2. lock

    lock New Member

    Joined:
    1 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Может подкинете пару задач для лучшего понимания темы "функции". Ну или дайте ссылку где их можно найти
     
  3. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Темы:
    1) Типы данных.
    2) Указатели.
    3) Ссылки.
    4) область видимости.
    5) рекурсия.
    6) указатели на функции.
     
  4. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    а открыть любую книжку по любому языку программирования - слабо ?

    Функция это набор операторов, на который можно передать управление. После выполнения всех операторов управление будет возвращено на следующий за вызовом функции оператор.
     
  5. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    Подскажите что почитать или дайте ссылки где детально описывается работа терминала и видеопамяти на Си под Linux. Искал в гугле но нашел только "Экранные библиотеки и работа с видеопамятью. Христоматия по программированию на Си в Unix.". В книгах искал то тоже ничего не было, а мне нужно решить вот что то из этого:
    1. Составьте программу сохранения содержимого экрана IBM PC (видеопамяти) в текстовом режиме в файл и обратно (в системе LINUX).
    2. Сделайте так, чтобы "выскакивающие" окна имели тень.
    3. Напишите функцию, рисующую на экране прямоугольную рамку. Используйте ее для рисования рамки окна.
     
  6. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    187
    Reputations:
    5
    у меня тоже вопросик нарисовался
    Пишу собственный SSL TLS модуль
    для https пакетов
    Нарисовался вопрос, видели ли исходники на С++ для DER кодирования и декодирования данных
    в частности принимаю пакет данных в которых содержиться Сертификат
    Необходимо его сохранить в структуру данных, предварительно сделав DER декодирование
    Сам ГОСТ DER кодера декодера находиться тут
    http://www.complexdoc.ru/scan/ГОСТ%20Р%20ИСО%7CМЭК%208825-1-2003
     
    #6346 rudi, 9 Apr 2011
    Last edited: 9 Apr 2011
  7. DeepBlue7

    DeepBlue7 Elder - Старейшина

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    c++

    Вообщем, возникла проблема разделения стринга (char * str) на переменные.
    Делаю так :
    Code:
    char * str = "Alex 16";
    int Number;
    char Name[10];
    
    scanf(str,"%s %d",Name,&Number);
    но приложение падает при попытке использования переменных Number и Name в дальнейшем.
     
    #6347 DeepBlue7, 9 Apr 2011
    Last edited: 9 Apr 2011
  8. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    ты видать хотел sscanf заюзать, а не scanf. И даже не спрашивай в чем разница, не для этого ссылки вставлял.
     
  9. lock

    lock New Member

    Joined:
    1 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Перестали выводиться русские буквы(

    Например со строками
    #include <clocale>
    setlocale(LC_ALL, "Russian");

    Пишет НЕ на руссском. Закономерность получается такая:
    Каждой букве соответствует какой то символ начинающийся на р Например:
    а - po;
    б - p+;
    в - p?;
    Может кто знает почему?
     
  10. t3zo

    t3zo Member

    Joined:
    18 Feb 2010
    Messages:
    51
    Likes Received:
    14
    Reputations:
    5
    PHP:
    bool SpliceHookSet(void *offsetmyfuncvoid *offsethookfuncBYTE buffer[5]) 
    {
        
    DWORD protect_old;
        if(
    offsetmyfunc == NULL || offsethookfunc == NULL)
        {
            return 
    false;
        }
        
    memcpy(bufferoffsethookfuncsizeof(buffer));
        
        if(
    VirtualProtect(offsethookfunc5PAGE_READWRITE, &protect_old) == false)
        {
            return 
    false;
        }
        
    DWORD offsetme = (DWORD)offsethookfunc - (DWORD)offsetmyfunc 5;
        
    DWORD write_n;
        
    WriteProcessMemory((HANDLE)-1offsethookfunc"0xE9"1, &write_n);
        
    WriteProcessMemory((HANDLE)-1offsethookfunc, (char *)offsetme4, &write_n);
        
    VirtualProtect(offsethookfunc5protect_oldNULL);
        return 
    true;
    }
    Верно написана сплайсинг функция?
     
  11. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    а проверить не судьба?
     
  12. t3zo

    t3zo Member

    Joined:
    18 Feb 2010
    Messages:
    51
    Likes Received:
    14
    Reputations:
    5
    под рукой ничего нет... Просто по логике и идеии все верно?
     
  13. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Сокеты под *.nix'ами:
    Получаю данные:
    Code:
    bytes_read = recv(sock, buf, BUFSIZE, 0);
    Нужно проверить, не получил ли я например "aaa". Как это сделать?

    Туплю :)
    Решение:
    Code:
                char *sCl = "close";
                if (strcmp(sCl, buf) == 0)
                {
                    a = 0;
                    break;
                }
     
    #6353 Jakeroid, 11 Apr 2011
    Last edited: 11 Apr 2011
  14. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    t3zo, не "0xE9", а "\xE9", как минимум.

    Jakeroid, я обычно после чтения по адресу buf[bytes_read] пишу 0, чтобы строковые функции не вышли за пределы.
     
  15. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    Epic fail

    я же правильно думаю что такой оператор присваивание
    Code:
    Book& Book::operator=(const Book &rhv)
    {
        Book tmp(rhv);
        std::swap(*this, tmp);
    
        return *this;
    }
    
    это несоизмеримая глупость ?
     
  16. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Это что-то невероятное. Как можно свопить два таких объекта?? Тут даже не хватает копирующего конструктора.
     
  17. foozzi

    foozzi Member

    Joined:
    13 Apr 2010
    Messages:
    195
    Likes Received:
    12
    Reputations:
    5
    есть сайт на котором есть видео-стрим (трансляции видео) как осуществить эту трансляцию в коде? можно пример плиз
    да и так же осуществить онлайн радио
     
  18. FROGRUS

    FROGRUS New Member

    Joined:
    12 Nov 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    помогите записать результат функции int t() в текстовый файл
    #include "stdafx.h"
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace System;
    using namespace std;
    struct Car
    {
    char model[15];
    char seriya[15];
    int year;
    int price;\
    char avariya[15];
    };
    void Oseriya( const Car &);
    int t();
    int main()
    {
    FILE *file;
    if ((file = fopen("3.txt","wt")) == NULL)
    printf("Файл невозможно открыть или создать\n");
    else{
    {
    fprintf (t());
    }
    }
    fclose(file);
    cout<<'\n'<<t();
    return 0;
    }
    int t()

    {
    setlocale(LC_ALL,"Russian");
    int n;
    Car*masCar;
    cout<<"Сколько машин?-->";
    cin>>n;
    masCar=new Car[n];
    for(int a=0;a<n;a++)
    {
    cout<<"Марка-->";
    cin>>masCar[a].model;
    cout<<"Модель-->";
    cin>>masCar[a].seriya;
    cout<<"Год выпуска-->";
    cin>>masCar[a].year;
    cout<<"Цена-->";
    cin>>masCar[a].price;
    cout<<"Состояние аварийности-->";
    cin>>masCar[a].avariya;
    }
    char name[15];
    cout<<"Имя водителя-->";
    cin>>name;
    for (int a=0;a<n;a++)
    {
    Oseriya(masCar[a]);
    }
    cout<<"\nВодитель"<<name<<'\n';
    delete[]masCar;
    system("PAUSE");
    return t();
    }
    void Oseriya(const Car & b)
    {
    cout<<"\n________________________________________________ _________________\n";
    cout<<"\nМарка-"<<b.model;
    cout<<"\nМодель-"<<b.seriya;
    cout<<"\nГод выпуска-"<<b.year;
    cout<<"\nСостояние аварийности-"<<b.avariya;
    cout<<"\nЦена-"<<b.price;
    }
     
  19. evildead

    evildead New Member

    Joined:
    29 Jan 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    люди, подскажите пожалуйста где в visual studio 6, включить нумерацию строк в настройках компилятора...
    всем спасибо, извиняюсь за нубовский вопрос )) но реально все облазил, не нашел
     
  20. Scripter

    Scripter Member

    Joined:
    3 Sep 2008
    Messages:
    141
    Likes Received:
    95
    Reputations:
    6
    найди 4е отличия :D

    Code:
    #include <iostream>
    using namespace std;
    class Employee {
    public:
    	void SetAge( int itsAge ) { Age = itsAge; }
    	void SetYearsOfServise( int itsYearsOfServise ) { YearsOfServise = itsYearsOfServise; }
    	void SetSalary( int itsSalary ) { Salary = itsSalary; }
    	int GetAge() const { return Age; };
    	int GetYearsOfServise() const { return YearsOfServise; }
    	int GetSalary() const { return Salary; }
    private:
    	int Age;
    	int YearsOfServise;
    	int Salary;
    };
    int main() {
    	Employee Sam;
    	Sam.SetAge(25);
    	Sam.SetYearsOfServise(2);
    	Sam.SetSalary(300);
    	cout<<"sam: "<<Sam.GetAge()<<" Years\t"<<Sam.GetYearsOfServise()<<" Years of servise\t"<<Sam.GetSalary()<<" Salary\n"<<endl;
    	return 0;
    }
     
Thread Status:
Not open for further replies.