Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > как передать argv[1] в функцию


Автор: бУРов 24.6.2013, 12:23
Как правильн приняты аргумент передать в функцию? Что-то не получается.
Код
int main(int argc, char *argv[])
{
    my_func(argv[1]);
    return 0;
}
BOOL my_func(char parName)
{
    prinf("%s", parName);
}

И можно ли конвертировать этот char в CString, чтобы пользоваться функциями работы со строками?
Например, так
Код
BOOL my_func(CString parName)
{
prinf("%s", parName);
}


Автор: Damarus 24.6.2013, 13:07
Код

BOOL my_func(char* parName)

Автор: бУРов 24.6.2013, 13:24
Вот так?
Код
int main(int argc, char *argv[])
{
    my_func(argv[1]);
    return 0;
}
BOOL my_func(char* parName)
{
    prinf("%s", parName);
}


Цитата
1>error C2660: my_func: функция не принимает 1 аргументов


Автор: volatile 24.6.2013, 13:31
бУРов, 
Код

void my_func(const char* parName)
{
    printf ("%s", parName);
}

int main(int argc, char *argv[])
{
    if (argc > 1)
       my_func(argv[1]);
    return 0;
}


Автор: бУРов 24.6.2013, 13:35
Ой ё!!! Понял!

Автор: baldina 24.6.2013, 15:56
Цитата(бУРов @  24.6.2013,  12:23 Найти цитируемый пост)
И можно ли конвертировать этот char в CString

можно: CString имеет соответствующий конструктор
Код

// так:
void my_func(const CString& parName)
{
    printf ("%s", LPCTSTR(parName));
}
// или так:
void my_func(const char* parName)
{
    CString str(parName);
    printf ("%s", LPCTSTR(str));
}

Автор: бУРов 24.6.2013, 16:07
У меня на CString ошибки компиляции были пока не добавил
Код
#include <atlstr.h>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)