Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.12.2020
Сообщений: 4
1

Как ввести через программу на си в командную строку значение переменной?

17.04.2021, 12:49. Показов 1329. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, я могу открыть необходимый файл и сообщить туда заранее известные команды, но как можно сообщить так же и значение необходимой переменной?


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
67
68
69
70
71
72
73
74
75
76
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
 
int main() {
    char pass[200] = { 0 };
    int i, c;
 
    while (1) {
        c = 0;
        printf("Enter your password: ");
        fgets(pass, 200, stdin);
 
        if (strlen(pass) < 10) { //длина
            printf("The number of characters is less than 10!!!\n\n");
            continue;
        }
        
        i = 0; //цифра
        while (!((int)pass[i] > 47 && (int)pass[i] < 58)) {
            if (pass[i] == '\0') {
                printf("Enter at least one digit\n\n");
                c = 1;
                break;
            }
            i++;
        }
        if (c == 1)
            continue;
 
        i = 0; //спец символ
        while (!(((int)pass[i] > 32 && (int)pass[i] < 48) || ((int)pass[i] > 57 && (int)pass[i] < 65) || ((int)pass[i] > 90 && (int)pass[i] < 97) || (int)pass[i] == 185 || (int)pass[i] == 126)) {
            if (pass[i] == '\0') {
                printf("Enter at least one special character\n\n");
                c = 1;
                break;
            }
            i++;
        }
        if (c == 1)
            continue;
 
        i = 0; //БУКВА
        while (!((int)pass[i] > 64 && (int)pass[i] < 91)) {
            if (pass[i] == '\0') {
                printf("Enter at least one capital letter\n\n");
                c = 1;
                break;
            }
            i++;
        }
        if (c == 1)
            continue;
 
        i = 0; //буква
        while (!((int)pass[i] > 96 && (int)pass[i] < 123)) {
            if (pass[i] == '\0') {
                printf("Enter at least one lowercase letter\n\n");
                c = 1;
                break;
            }
            i++;
        }
        if (c == 1)
            continue;
 
        printf("\nPassword accepted for processing\n");
        
 
        //system("htpasswd.exe");//-cm teset admin *password*
        WinExec("htpasswd.exe -cm test admin", SW_RESTORE);
        break;
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2021, 12:49
Ответы с готовыми решениями:

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

Как запустить программу через командную строку?
using System; using System.IO; class ShowFile { static void Main(string argc) { ...

Как открыть программу, зная ее адрес через командную строку с использованием winapi?
Как открыть программу, зная ее адрес через командную строку с использованием winapi? Т.е....

Как используя командную строку ввести символьную строку?
Как используя командную строку ввести символьную строку?

1
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
19.04.2021, 12:54 2
Лучший ответ Сообщение было отмечено RiftFate как решение

Решение

Цитата Сообщение от RiftFate Посмотреть сообщение
но как можно сообщить так же и значение необходимой переменной
Преобразовать ее в строку, выполнить конкатенацию и передать результат в WinExec(). sprintf() все это делает за раз.
Цитата Сообщение от RiftFate Посмотреть сообщение
C
1
while (!((int)pass[i] > 47 && (int)pass[i] < 58)) {
У меня 2 замечания:
1) для подобных проверок есть специальные функции, например isdigit() и isalnum().
2) Почему бы не собрать 4 цикла в один в котором будет 4 if-else?
2
19.04.2021, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2021, 12:54
Помогаю со студенческими работами здесь

Как открыть программу написанную на c++ через командную строку, если в пути программы есть пробелы
путь программы C:\la la\ve.exe пишу в командной строке: start C:\la la\ve.exe и выдает такое...

Как ввести свои данные в командную строку?
Есть программа, в которую вводят символы и она выводит результат. Работаю в Ubuntu. Не мог...

Как ввести и вывести текст используя командную строку?
Здравствуйте! Подскажите пожалуйста как работать с аргументами командной строки. Мне нужно...

Как ввести аргументы в командную строку и вывести в консоль
Здравствуйте! Подскажите пожалуйста как правильно ввести аргументы в командную строку, чтобы потом...

Как ввести в командную строку C:\Program Files (x86)?
Добрый день! Дайте, плиз, совет, как ввести в командную строку C:\Program Files (x86). Не находит...

Добавить возможность передачи параметров в программу через командную строку
Добавьте в код пожалуйста нужный код для того чтобы я могу введя путь открыть экзешник данной...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru