Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/130: Рейтинг темы: голосов - 130, средняя оценка - 4.89
17 / 17 / 1
Регистрация: 19.10.2009
Сообщений: 93

Запуск через командную строку с параметрами

10.01.2011, 09:03. Показов 24575. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите плиз!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main(int argc, char *argv[])
{
int k,N;
clrscr();
LIST *lst;
FILE *fi,*fo;
if (( fi = fopen(argv[2],"r")) == NULL)
{ printf("”*©« *Ґ ¬®¦Ґв Ўлвм ®вЄалв ** звҐ*ЁҐ!\n"); getch(); exit(0);}
fo = fopen(argv[3],"w");
N=atoi(argv[1]);
lst=read_list(lst,fi);
write_list(lst,N,fo);
printf("%d\n",i);
for(k=1;k<=i;k++)
printf("%d\n",a[k]);
}
как её запустить через командную строку????? я прописываю путь к файлу и 4 параметра f:\bc\bin\1.exe 4 10 1.txt 2.txt почему оно мне пишет что файл не может быть открыт для чтения? тоесть argv[2] не открывается. и за что вообще отвечает argc? не нашел ничего внятного в нете

Добавлено через 3 минуты
или нужно какой нибудь разделитель при вводе???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2011, 09:03
Ответы с готовыми решениями:

Запуск Gnu через командную строку
Здравствуйте, у меня возникла проблема такая интересная (лично для меня :D), вобщем до недавнего времени я занимался паскалем и решил...

Запуск формы через командную строку с параметрами
Знаю, что в консоли можно получить данные из командной строки int main(int argc, char *argv) { // Инструкции return 0; } ...

Запуск через командную строку
Всем доброго времени суток. Изучаю java Герберт Шилдт 4 издание. Пытаюсь запустить java файл через командную строку который находится в...

2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
10.01.2011, 09:24
печать аргументов по одному в строке
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(int argc, char ** argv){
    while ( argc-- )
        printf("%s\n", *argv++);
    return 0;
}
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
C:\cpp\system>cl pargs.c
Оптимизирующий 32-разрядный компилятор Microsoft (R) C/C++ версии 16.00.30319.01
 для 80x86
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
 
pargs.c
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.
 
/out:pargs.exe
pargs.obj
 
C:\cpp\system>pargs.exe
pargs.exe
 
C:\cpp\system>pargs.exe one two three
pargs.exe
one
two
three
 
C:\cpp\system>pargs.exe one "two three"
pargs.exe
one
two three
 
C:\cpp\system>
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
10.01.2011, 12:00
argc - количество аргументов командной строки
argv[] - массив этих элементов
argv[0] - элемент который содержит путь к данному файлу

в твоей программе argv[2] это число 10, вот и не открывается

Добавлено через 4 минуты
вот пример
программа копирует файлы посимвольно, copy.exe <input file> <output file>
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main(int argc, char * argv[])
{
    setlocale(LC_ALL,"");
    if (argc <= 1)
    {
        printf("Ошибка! Не хватает аргументов для работы программы.\n");
        _getch();
        return 0;
    }
 
    else if (argc > 3)
    {
        printf("Ошибка! Слишком много аргументов для работы программы.\n");
        _getch();
        return 1;
    }
 
    else if (argc == 2)
    {
        printf("Ошибка! Выходной файл не указан.\n");
        _getch();
        return 1;
    }
 
    const char *fileNameInput = argv[1];
    const char *fileNameOutput = argv[2];
    FILE *fileInput;
    FILE *fileOutput;
 
    fileInput  = fopen(fileNameInput, "rt");
    fileOutput = fopen(fileNameOutput, "wt");
 
    if (fileInput == NULL)
    {
        printf("Ошибка открытия входного файла.\n");
        _getch();
        return 1;
    }
 
    else if (fileOutput == NULL)
    {
        printf("Ошибка открытия выходного файла.\n");
        _getch();
        return 1;
    }
 
    printf("Начинаем копировать файлы.\n");
    int ch;
    while ((ch = fgetc(fileInput)) != EOF)
    {
        fputc(ch, fileOutput);
    }
    printf("Копирование файлов успешно завершено.\n");
 
    fclose(fileInput);
    fclose(fileOutput);
    
    fileInput = fileOutput = NULL;
 
    _getch();
    return 0;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2011, 12:00
Помогаю со студенческими работами здесь

Запуск через командную строку
Имеется код: #include &lt;stdio.h&gt; int main(int argc,char *argv) { char *rezhim; printf(&quot;%s\n&quot;,argv); rezhim=argv; ...

Запуск через командную строку
При запуске программы через командную строку возникает ошибка: Может быть, кто сталкивался

Запуск через командную строку
Всем доброго времени суток. Пытаюсь освоить запуск программы с командной строки. Что делаю не так? Код программы: package out; ...

Запуск программы через командную строку
Установила Питон 2.7. Как запустить скрипт через программную строку? Как задать path? Что там надо прописывать? Помогите, пожалуйста.

Запуск программы через командную строку
Проблема в следующем! Например написана программка сложения двух чисел, после её запуска в КС и ввода двух чисел программа выполняет...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru