VC++?!?

5 отговора 259 прегледа
#1

VC++?!?

char buf[10];
buf[0]='1';
buf[1]='2';
buf[2]=0; //nula desetichno
buf[3]='2';
..............
CString str;
str=buf;
printf(str)

12
Ako ne e nula v buf[2]=0;

12(nakva ascii chavka)2

Zashto se oriazva ?

Отговор
в отговор на LamerSlamer #2

Re: VC++?!?

Wednuzh minawah pokraj edno durvo, ne po-tochno... wednuzh edno durvo mina pokraj mene!

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на LamerSlamer #3

Re: VC++?!?

otgowor mi towa imalo w masiva (i sled masiva) towa si widial w CString.

1. moje li da prochetesh w knijkite koga, kyde i po kakyw nachin se alokira, inicializira i oswobojdawa pametta zaemana ot konstanti, promenliwi, dinamichno zadeliana pamet i po-tochno kak lubimiat ti kompilator prawi towa, kakwi sa razlikite kogato kompilirash w debug i release (ili kakto tam si kompilirash)

2. pochwash da debugwash imaiki predwid informaciata sybrana ot 1.

Отговор
в отговор на LamerSlamer #4

Re: VC++?!?

А ти какво точно искаше да стане!?

Отговор
в отговор на LamerSlamer #5

Re: VC++?!?

Всичко си работи както е по книжките.
Във втория случай е важно какво има и на buf[4]

Отговор
в отговор на LamerSlamer #6

Re: VC++?!?

Za6to nikoi ne mu kazwa na 4oweka kakwo stawa, a samo mu pi6ete da 4ete....

Ideqta e 4e string-a koito prawi6 wsy6tnost e prosto pointer kym mqsto w pametta. Kogato mu kave6 da se izpe4ata na ekrana, programata zapo4wa da 4ete bait po bait zapo4waiki ot tazi poziciq w pametta kym koqto so4i string pomenliwata. W C, ascii simwol s kod 0 (towa koeto ti assign-wa6 na buf[3]) se izpolzwa za ukazwane na kraq na string. Zatowa towa koeto stawa e 4e programata 4ete pyrwo '1', posle '2' i posle ascii 0 i towa go razbira kato krai na stringa. Ako slovi6 '0' w vuf[3] 6te widi 1202...

Ako mu kave6 buf[3] = 48 (deseti4no), togawa 6te widi6 pak 1202 (48 e ascii koda za chaacter '0')

Отговор