Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Передача пареметров в main[C or C++] (https://forum.antichat.xyz/showthread.php?t=188200)

cheater_man 19.03.2010 01:52

Передача пареметров в main[C or C++]
 
Нужно 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);
}

Есть другие варианты?

Gar|k 19.03.2010 01:59

winAPI GetCommandLine

cheater_man 19.03.2010 02:02

Цитата:

Сообщение от Gar|k
winAPI GetCommandLine

не... некатит через winapi. нужно чистый c.

razb 19.03.2010 03:06

Тебе надо записать в строку все переданные аргументы и потом сделать конкатенацию с другой строкой? если так то посчитай общую длину аргументов, выдели память и в цикле запиши буфер.

_nic 19.03.2010 04:09

Код:

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

Цитата:

Сообщение от _nic
Код:

char *buf=new char[1024*1024];
memset(buf,NULL,1024*1024);
for(int i=0;i<argc;i++)
{
strcat(buf,argv[i]);
}
strcat(buf,"строку которую тебе надо прилепить");

По идее вот так

Здесь видишь как: все передаваемые параметры записываются в одну строку, а их потом придется опять сортировать. Короче что-то кривой соурс.
Еще варианты есть?

_nic 19.03.2010 19:39

Цитата:

Сообщение от cheater_man
Здесь видишь как: все передаваемые параметры записываются в одну строку, а их потом придется опять сортировать. Короче что-то кривой соурс.
Еще варианты есть?

Угу.Ты идешь и учишь азы работы с массивами данных и структурами на С.

cheater_man 19.03.2010 20:04

Цитата:

Сообщение от _nic
Угу.Ты идешь и учишь азы работы с массивами данных и структурами на С.

А нет все ;) доработал под себя все ОК.Thanks :) +1


Время: 12:39