
20.04.2008, 14:42
|
|
Познающий
Регистрация: 29.02.2008
Сообщений: 66
Провел на форуме: 139469
Репутация:
33
|
|
помогите разобраться почему этот код работает не так как надо....
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
char **message_buf;
message_buf = new char*[argc];
for(int u=0;argv[u] != NULL;u++)message_buf[u]=new char[sizeof(argv[u])];
for(int i=0; argv[i] != NULL; i++)
{
strncpy(message_buf[i], argv[i], sizeof(argv[i]));
cout<<"w["<<i<<"]:"<<message_buf[i]<<endl;
}
for(int i=0;argv[i] != NULL;i++)delete [] message_buf[i];
delete []message_buf;
}
кампилю g++(linux)
Запускаю: ./client sdgdfg dfg dfg df gdfg
результат
w[0]:./cl
w[1]:sdgd
w[2]:dfg
w[3]:dfg
w[4]:df
w[5]:gdfg
как видете выводит только первые 4 символа... не предлогать переписать код, важно найти ошибку именно в этом.
Последний раз редактировалось ZipaCna; 20.04.2008 в 17:34..
|
|
|