Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: heed   (16.11.2009 в 15:23)
что-то не соображу как сделать чтобы sizeof() и длинна строки были только столько сколько надо
, и правильно-ли будет так выделять и освобождать память
#include<iostream>
#include <windows.h>
using namespace std;

int main()
{
char S[150]; //объявлет строку
char* pS; //объявляет указатель на строку
char* Del=" .,"// указатель на строку разделителей
int i, count=0;

CharToOem("Назвался груздем, пеняй на себя.", S);
char** arr = new char* [ sizeof(S)+1 ];

pS = strtok( S, Del);
    while( pS != NULL )
    { arr[count] = pS;
cout << ++count <<":\t"<< pS <<"\n";
        pS = strtok( NULL, Del); 
    }
for(i=--count; i>=0; i-- ){
 cout <<"\t"<< arr[i] <<"\n";
}
delete [] arr;
system("pause");
return 0;
}
но VC8 вроде не ругается кроме того что вместо strtok() рекомендуется strtok_s()


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: