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

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    По моему бред. первое объявление есть указатель на массив символов, заранее неопределенной длины, инициализируя указатель он какбэ объявляет что этот массив будет размером 4байта+'\0' точнее слово "Text"

    char first[5]= "Text";
    char second[255];
    for(int i=0; i<5; i++)
    { second=first;
    cout << second;
    }

    а если нам нужно работать со строкой не посимвольно? например вывеси ее сразу :
    printf("%s",second);
    а она будет до этого заполлнена, выведутся - TextXXXXXX X-символы которыми была до этого заполнена.
    Самый нормальный вариант имхо, использовать, как уже говорили выше - strcpy из string.h
     
  2. mr.The

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

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    спс.
    kRa$I-I, твой вариант работает, но этот короче и быстрее.
    эта либа автоматом подключается? оно и без неё скомпилилось)

    UPD: посоветуйте хороший отладчик. немогу баг словить..
     
  3. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    gdb
     
    1 person likes this.
  4. Ra$cal

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

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    ollydbg =)
     
  5. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    syser *CRAZY*
     
  6. metaldisc

    metaldisc Banned

    Joined:
    6 Aug 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    каждый хитрый мазахист между про чем ананист, ну прям как slesh
     
  7. ..::Hollywood::..

    ..::Hollywood::.. New Member

    Joined:
    23 Apr 2009
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    вот для сетевого программирования в Delphi рекомендуется изучать winsock , а в с++ что поучить по сетевому программированию?или без разницы?спасибо
     
  8. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Winsock. Wininet.
     
  9. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    рекомендую winsock
    как для Delphi так и для с++ функции одинаковые
    библиотека довольна распространена, в сети есть много информации и исходников
     
    1 person likes this.
  10. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    привет всем... не подскажете почему виснет графический режим в дос... сначала думал что выхожу за пределы екрана... потом пробовал самое елементарное то всё равно ДОС режим повисал... кто укажет причину????
     
  11. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Экстрасенсов тут нет, к сожалению. Приведи код.
     
  12. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    да то не изза кода... я проверял на других компах всё гут... а на ноуте какие то траблы.... вот даже такую елементарную задачу при компиляции повисает
    Code:
    #include<stdio.h>
    #include<dos.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<graphics.h>
    #include<string.h>
    void myprint (int X, int Y,int shadow, int color, int size, char *text);
    int main()
    {
    int c,color,X,Y,shadow,style,size;
    char *text;
    char a;
    int gdriver=DETECT, gmode, errorcode;
    initgraph(&gdriver,&gmode, "");
    errorcode=graphresult();
    if(errorcode!=grOk)
    {
    printf("Graphics error: %s\n", grapherrormsg(errorcode));
    getch();
    return (0);
    }
    printf("Hi, enter coordinates(X,Y) where will be our text\n");
    scanf("%d,%d",&X,&Y);
    printf("Do you want shadow?(y/n)\n");
    scanf("\n%c",&a);
    if (a=='y')
    c=1;
    else
    {
    if (a=='n')
    c=0;
    else
    {
    printf("Error, as default shadow won't use\n");
    c=0;
    }
    }
    printf("Enter size(0-3)\n");
    scanf("%d",&size);
    
    printf("\nAt last enter your text\n");
    scanf("%s\n",text);
    color=4;
    cleardevice();
    myprint(X,Y,c,color,size,text);
    getch();
    closegraph();
    return 0;
    }
    void myprint(int X, int Y,int shadow, int color, int size, char *text)
    {
    settextstyle(0,0,size);
    setcolor(7);
    outtextxy(X+shadow,Y-shadow,text);
    setcolor(color);
    outtextxy(X,Y,text);
    }
     
  13. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Это всё глюки и настройки эмулятора доса в винде.
    Хз покаким причинам, но иногда он вообще с того нессего перестаёт работать (
    Запускай такие проги под эмулятором какимнить другим. DosBox тебе в помошь.
     
  14. ..::Hollywood::..

    ..::Hollywood::.. New Member

    Joined:
    23 Apr 2009
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    Вот скажите пожалуйста почему при присваивании переменной множества двух других (извините за скудословие,пока не вник во все ньюансы) типа
    unsigned short int Area = (Width * Length)
    мы Width и Length заключаем в скобки а при использовании псевдонима typedef unsigned short int USHORE ;
    мы не закрываем в скобки
    USHORE Area= Width * Length ????
    есть ли разница или нет?
    и еще \n и endl это ведь одинаковые вещи ?обе они означают разрыв строки?(спрашиваю последнее потому , что в книге идет в первой строчке \n , а потом endl в двух других,и написано обратить внимание на это.везде поставил \n и все работает,глупость автора?)
    спасибо
     
  15. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    В этом случае скобки можно опустить тк у оператора присваивания приоритет низший нежели у оператора умножение.
    \n означает только перевод строки, а endl еще и очищение потока, хотя \n компиляторами расматривается тоже как очищение потока хотя это и не стандартизировано(вообще не уверен, но вроде так)
     
  16. ..::Hollywood::..

    ..::Hollywood::.. New Member

    Joined:
    23 Apr 2009
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    razb вот нарыл.
    (джесс либерти Cpp за 21 день)
    ___________________________
    и еще,псевдониму можно присваивать любое имя или исключительно исходя из типа переменной и ключевого слова?спасибо
     
    #3176 ..::Hollywood::.., 19 Jun 2009
    Last edited: 19 Jun 2009
  17. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Любое кроме зарезервированных.
     
  18. ..::Hollywood::..

    ..::Hollywood::.. New Member

    Joined:
    23 Apr 2009
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    они же Ключевые слова? while , main , if , for ?
     
  19. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Он также дает команду отправки данных с потока на устройство в\в. Вот тут обсуждение, если интересно можешь почитать
    http://www.velocityreviews.com/forums/t284212-quotendl-and-quotnquot.html

    да.
     
    #3179 razb, 19 Jun 2009
    Last edited: 19 Jun 2009
  20. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    опять же тот же граф. режим

    Подкажите как мне преобразовать такое
    Code:
    char present[]={"Made by Roston"};
    
    что бы я мог использовать его в цикле в функции outtextxy
    ну тобишь я буду выводить по одной букве...
    типо
    Code:
    for(i=0;i<n;i++)
    outtext(150,150,present[i]);
    
    но переменную оно выводить не хочет
     
Thread Status:
Not open for further replies.