Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
#1

Argc, argv[] - C++

22.03.2014, 00:02. Просмотров 542. Ответов 2
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int _tmain(int argc, char* argv[])
{
    setlocale(LC_ALL, "Russian");
    printf("Значение argc равно %d \n\n", argc);
    printf("В командной строке содержится %d параметров \n\n", argc);
    int i;
    for (i = 0; i <= argc; i++)
        printf(" argv[%d]: %s\n", i, argv[i]);
 
    printf("Среда содержит следующие строки:\n");
 
    _getch();
    return 0;
}
Запускаю программу через командую строку, посылаю аргументы, например: first_arg "arg with blanks" 3 4 "last but one" stop!
Выводит только первые буквы каждого аргумента, соответственно С(название программы ConsoleApplictaion...),f,a,3,4,l,s,<null> Почему? Как исправить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 00:02     Argc, argv[]
Посмотрите здесь:

Argc и Argv - C++
Всем привет, у меня такой вопрос, как правильно вызвать данную функцию int test(int argc, char* argv){ } Я делала так, но компилятор...

argv и argc - C++
Для чего нужны аргументы argc и argv? Как ими пользоваться и оперировать с ними? И почему *argv пишется с символом *, это же ведь массив.

Argc, Argv замена - C++
Всем доброго времени суток, столкнулся с такой проблемой, нет возможности в параметрах ф-ции указать вышеупомянутые параметры, а указать их...

Argc и argv применение - C++
Подскажите пожалуйста. Дошел до главы про argc и *argv в книге Шилдта. И там написано что все зависит(как я понимаю) от имени файла. Есть...

Объясните значение argc и argv - C++
Ув. гуру! Дошёл в учебники до раздела об аргументах argc и argv, но что-то ничего не понял.. #include &lt;iostream&gt; using namespace...

Передать argc, argv в конструктор класса - C++
Добрый день! Решил я отказаться от getopt и написать разбор аргументов сам. Код получился примерно такой (выкинув &quot;лишнее&quot;). ...

Ввод данных с использованием argv и argc - C++
не могу понять почему программа не работает без использования ввода из командной строки работает,а так нет подскажите пожалуйста в чём...

argv и argc передача аргумента(пароль) - C++
я должен передать в консоли параметр &quot; пароль &quot; если пароль верен то мне выводит сообщение - пароль верен, иначе - не верен_ Вот так я...

Аргументы main(int argc, char *argv[]) - C++
Эксперты в с++,объясните пожалуйста новичку примерно понял как использовать эти аргументы,но не как не могу понять куда писать то что он...

Объясните смысл аргументов командной строки argc и argv - C++
Объясните смысл аргументов командной строки argc и argv.

Argc argv, передать несколько значений в качестве параметров - C++
void Math() { double a=2, b=3, c=9, x,y, x1,k; cout&lt;&lt;&quot;Vvedite x:&quot;;cin&gt;&gt;x; cout&lt;&lt;&quot;Vvedite x1:&quot;;cin&gt;&gt;x1; cout&lt;&lt;&quot;Vvedite...

Чтение из файла, название передано как параметры функции main argc & argv - C++
Вообще дано задание - считать из файла чётные строки, название файла должно быть передано как параметр при запуске из командной строки.. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TwinTip
0 / 0 / 1
Регистрация: 22.03.2014
Сообщений: 2
22.03.2014, 00:37     Argc, argv[] #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
argv[0] - это имя exe файла
первым в командную строку следует написать именно <имя исполняемого файла>.exe, потом все остальные аргументы
и цикл тогда начинай с 1
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
22.03.2014, 02:36     Argc, argv[] #3
Цитата Сообщение от Gygocopter Посмотреть сообщение
Выводит только первые буквы каждого аргумента
Скорее всего используется проект с поддержкой юникода (задан макрос _UNICODE) и поэтому _tmain раскрывается на самом деле в wmain, а аргумент argv[] у него не char*, а _TCHAR*, который раскрывается в wchar_t*.
Соответственно надо либо отключить юникод в проекте, либо переделать программу на поддержку _TCHAR*.

Добавлено через 21 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <tchar.h>
#include <cstdio>
#include <clocale>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    printf("Значение argc равно %d \n\n", argc);
    printf("В командной строке содержится %d параметров \n\n", argc);
    int i;
    for (i = 0; i < argc; i++)
        _tprintf(_T(" argv[%d]: %s\n"), i, argv[i]);
 
    printf("Среда содержит следующие строки:\n");
 
    _getch();
    return 0;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru