Просмотр полной версии : Передача пареметров в main[C or C++]
cheater_man
19.03.2010, 01:52
Нужно char *argv[] конвертировать в просто *char.Потом сложить с другой строкой.
Нашел один метод, но он уж слишком мудренный :)
И конвертирует только один пареметр.
char* data;
char st;
int main(int argc, char *argv[])
{
data = (char*)malloc(sizeof(char) * strlen(argv[1]));
strcat(data,st);
printf("%c",data);
}
Есть другие варианты?
cheater_man
19.03.2010, 02:02
winAPI GetCommandLine
не... некатит через winapi. нужно чистый c.
Тебе надо записать в строку все переданные аргументы и потом сделать конкатенацию с другой строкой? если так то посчитай общую длину аргументов, выдели память и в цикле запиши буфер.
char *buf=new char[1024*1024];
memset(buf,NULL,1024*1024);
for(int i=0;i<argc;i++)
{
strcat(buf,argv[i]);
}
strcat(buf,"строку которую тебе надо прилепить");
По идее вот так
cheater_man
19.03.2010, 19:21
char *buf=new char[1024*1024];
memset(buf,NULL,1024*1024);
for(int i=0;i<argc;i++)
{
strcat(buf,argv[i]);
}
strcat(buf,"строку которую тебе надо прилепить");
По идее вот так
Здесь видишь как: все передаваемые параметры записываются в одну строку, а их потом придется опять сортировать. Короче что-то кривой соурс.
Еще варианты есть?
Здесь видишь как: все передаваемые параметры записываются в одну строку, а их потом придется опять сортировать. Короче что-то кривой соурс.
Еще варианты есть?
Угу.Ты идешь и учишь азы работы с массивами данных и структурами на С.
cheater_man
19.03.2010, 20:04
Угу.Ты идешь и учишь азы работы с массивами данных и структурами на С.
А нет все ;) доработал под себя все ОК.Thanks :) +1
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot