[ 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. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Поменял всё на иф , таже самая ошибка!
     
  2. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Виложи нормальный код с точным описанием ошибки!
     
  3. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    это и есть точный код, а описание ошибки такое какое выдаёт компилятор, скопировал полностью, компилятор висуал студио 2008
     
  4. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Djezul
    ты лучше начни с улучшения кода и ооп. то что ты щас пишешь, это по сути си стайл. если бы ты юзал ооп, вся программа уменьшилась бы раз так в 8. та даже если ты банально прекратишь копипастить код, сделаешь функции для покупки товаров, вывода инфы итп, ты уже сократишь код программы и упростишь возможности ее модификации. привыкай, что просто написать программу - мало. потом ее надо поддерживат, улучшать и исправлять.
     
  5. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Я её как раз и улучшаю, поэтому и перевожу всё в функции, а ооп я не использую , так как пишу на си, сначала, хочю его выучить, а учить лучше на практике__)) , тем более название раздела си/си++ , я думал и так понятно что это си. Кстати проблему я решил, просто названия функции и константы совпадали, вот и всё))
     
    #3145 Djezul, 13 Jun 2009
    Last edited: 13 Jun 2009
  6. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Достаточно взглянуть на использование потоковых классов что говорит о том что ты используешь с++. Советую перечитать книгу и понять отличия этих языков.
     
    1 person likes this.
  7. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Возможно ты и прав, не буду спорить так как я пока мало что в этом понимаю, но в компьютерной школе , куда я стал недавно ходить, мы учим пока си а не си++ , и там нам препод сказал делать так.
     
  8. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    razb, прав: использовать потоки в C некорректно :(
     
  9. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    да помогите ёпт
     
  10. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    1 person likes this.
  11. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Поиск заюзать не судьба?
    _http://parallel.ru/docs/www.citforum.ru/programming/bcpp/r77_3.shtml
     
  12. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    razb, мы дали ссылки на один и тот же ресурс :)
     
  13. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    а чё нить обширней нету??? мне еше надо графическую менюшку создать
     
  14. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    А что еще надо? там описание прототипов всех ф-ций библиотеки или ты хочешь готовый код на тарелочке )
     
  15. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Подскажите на какой строке в этой ф-ции стек повреждается
    Code:
    char *listds()
    {
    HANDLE hh=GetProcessHeap();
    char  buff[1024],out[1024];
    void  *rbuf=HeapAlloc(hh,HEAP_ZERO_MEMORY,1024*4);
    void  *rbuf1=HeapAlloc(hh,HEAP_ZERO_MEMORY,1024*4);
    void  *rbuf2=HeapAlloc(hh,HEAP_ZERO_MEMORY,1024*4);
    void  *rbuf3=HeapAlloc(hh,HEAP_ZERO_MEMORY,1024*4);
    char *buf=(char*)rbuf;char *buf1=(char*)rbuf1;char *buf2=(char*)rbuf2;
    char *buf3=(char*)rbuf3;
    struct {
       UINT type;
       LPCSTR name;    
    } DTF [] = {
       { DRIVE_UNKNOWN,     " (Unknown) " },
       { DRIVE_NO_ROOT_DIR, " (Invalid path) " },
       { DRIVE_REMOVABLE,   " (Removable) " },
       { DRIVE_FIXED,       " (Logic Volume) " },
       { DRIVE_REMOTE,      " (Network drive) " },
       { DRIVE_CDROM,       " (CD-ROM) " },
       { DRIVE_RAMDISK,     " (RAM disk) " },
       { 0, NULL},
    };
    GetLogicalDriveStrings(sizeof(buff)/sizeof(char),buff);
    DWORD FBA;DWORD TNOB;DWORD TNOFB;
    for(int i=0; i<1024-1; i++)
    if( buff[i]==0)
    {
    if(buff[i+1] != 0)
    buff[i] =(char) 0xD;
    else
    break;
    }strcpy(buf,buff);
    for(;;)
    {
    strncpy(buf1,buf,3);buf+=4;
    strcat(buf2,buf1);strcat(buf2,DTF[GetDriveType(buf1)].name);
    if(GetVolumeInformation(buf1,0,0,0,0,0,0,0)==true)
    {
    GetDiskFreeSpaceEx(buf1,(PULARGE_INTEGER)&FBA,(PULARGE_INTEGER)&TNOB,(PULARGE_INTEGER)&TNOFB);
    sprintf(buf3,"%d",TNOFB/(1024));strcat(buf2,"avalaible kbytes:");
    strcat(buf2,buf3);strcat(buf2,"\n");
    memset(buf3,NULL,1024);
    }
    if(GetVolumeInformation(buf1,0,0,0,0,0,0,0)!=true)
    {
    strcat(buf2,"<No Disk>\n");
    }
    if(strlen(buf)==0){break;}
    }
    strcpy(out,buf2);
    HeapFree(hh,0,rbuf);
    HeapFree(hh,0,rbuf1);
    HeapFree(hh,0,rbuf2);
    HeapFree(hh,0,rbuf3);
    return(out);
    }
    
     
  16. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    в дебаг вставляется _chkesp не было переполнения
     
  17. kRa$I-I

    kRa$I-I New Member

    Joined:
    23 Jan 2009
    Messages:
    30
    Likes Received:
    1
    Reputations:
    5
    Всем привет. У меня такой вопрос. Поставил себе Visual Studio 2008 Team System создаю пустой НЕ CLR проект подключаю прототипы фунций Winsock2 и он выдает целую кучу ошибок. Это я что-то не так делаю или у всех так?
    Выглядит это так:
    #include <windows.h>
    #include <winsock2.h>

    int main()
    {
    WSAData wsaData;
    int ret = WSAStartup(MAKEWORD(1,1), &wsaData);
    if(ret == SOCKET_ERROR) ExitProcess(0);
    SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if(s==0) ExitProcess(0);

    .........................
    Sleep(3000);
    return 0;
    }
    Причем ошибки как я понял в заголовочном файле.....приводить их не буду их 68 шт.

    Вопрос №2
    Как убрать консольное окошечко которое выскакивает при каждом запуске приложения........
    Заранее спасибо за ответы.
     
  18. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    есть две переменные
    char *first="Text";
    char second[255];

    как присвоить переменной second значение переменной first?
    компилятор ругается на "invalid conversion from `char*' to `char'"
     
  19. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    mr.The
    strcpy(second, first);
     
  20. kRa$I-I

    kRa$I-I New Member

    Joined:
    23 Jan 2009
    Messages:
    30
    Likes Received:
    1
    Reputations:
    5
    to mr.The
    Первая переменная есть указатель на область памяти в 1 байт, выделенная под переменную типа char. Делая так char *first = "Text" - ты успешно записываешь в место адреса "Te"(2 байта)
    Вторая переменная - массив из 255 элементов.
    Я думаю правильно так
    char first[5]= "Text";
    char second[255];
    for(int i=0; i<5; i++)
    { second=first;
    cout << second;
    }
     
Thread Status:
Not open for further replies.