По моему бред. первое объявление есть указатель на массив символов, заранее неопределенной длины, инициализируя указатель он какбэ объявляет что этот массив будет размером 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
спс. kRa$I-I, твой вариант работает, но этот короче и быстрее. эта либа автоматом подключается? оно и без неё скомпилилось) UPD: посоветуйте хороший отладчик. немогу баг словить..
вот для сетевого программирования в Delphi рекомендуется изучать winsock , а в с++ что поучить по сетевому программированию?или без разницы?спасибо
рекомендую winsock как для Delphi так и для с++ функции одинаковые библиотека довольна распространена, в сети есть много информации и исходников
привет всем... не подскажете почему виснет графический режим в дос... сначала думал что выхожу за пределы екрана... потом пробовал самое елементарное то всё равно ДОС режим повисал... кто укажет причину????
да то не изза кода... я проверял на других компах всё гут... а на ноуте какие то траблы.... вот даже такую елементарную задачу при компиляции повисает 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); }
Это всё глюки и настройки эмулятора доса в винде. Хз покаким причинам, но иногда он вообще с того нессего перестаёт работать ( Запускай такие проги под эмулятором какимнить другим. DosBox тебе в помошь.
Вот скажите пожалуйста почему при присваивании переменной множества двух других (извините за скудословие,пока не вник во все ньюансы) типа unsigned short int Area = (Width * Length) мы Width и Length заключаем в скобки а при использовании псевдонима typedef unsigned short int USHORE ; мы не закрываем в скобки USHORE Area= Width * Length ???? есть ли разница или нет? и еще \n и endl это ведь одинаковые вещи ?обе они означают разрыв строки?(спрашиваю последнее потому , что в книге идет в первой строчке \n , а потом endl в двух других,и написано обратить внимание на это.везде поставил \n и все работает,глупость автора?) спасибо
В этом случае скобки можно опустить тк у оператора присваивания приоритет низший нежели у оператора умножение. \n означает только перевод строки, а endl еще и очищение потока, хотя \n компиляторами расматривается тоже как очищение потока хотя это и не стандартизировано(вообще не уверен, но вроде так)
razb вот нарыл. (джесс либерти Cpp за 21 день) ___________________________ и еще,псевдониму можно присваивать любое имя или исключительно исходя из типа переменной и ключевого слова?спасибо
Он также дает команду отправки данных с потока на устройство в\в. Вот тут обсуждение, если интересно можешь почитать http://www.velocityreviews.com/forums/t284212-quotendl-and-quotnquot.html да.
опять же тот же граф. режим Подкажите как мне преобразовать такое Code: char present[]={"Made by Roston"}; что бы я мог использовать его в цикле в функции outtextxy ну тобишь я буду выводить по одной букве... типо Code: for(i=0;i<n;i++) outtext(150,150,present[i]); но переменную оно выводить не хочет