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

Считывание ASCII кодов и действия по ним

18.09.2019, 21:47. Показов 2926. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Отобразить на экране двоичные коды вводимых с клавиатуры символов. Использовать символы s, f, k, w, e и реализовать по этим кодам запуск программы Проводник, указание пути к папке, создание текстового файла, удаление файла, закрытие текущего окна Проводника соответственно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2019, 21:47
Ответы с готовыми решениями:

Считывание из файла массив целых чисел и действия над ним
помогите написать программу. Из файла (имя файла вводится с клавиатуры) считывается массив целых чисел. Размер массива заранее...

Вопрос по ASCII кодов
Я сделал ввод одномерного символьного массива, сделал сортировку, но в выводе мне вывело не символы, (в моем случае англ. алфавит) а их...

Использование ASCII кодов
Подскажите как пользоваться таблицей ASCII кодов http://www.computerbooks.ru/books/Programming/Book.C_plus_plus_for_beginning/pic/38.gif ...

11
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,907
19.09.2019, 12:36
Ошиблись разделом. Winapi тут: https://www.cyberforum.ru/win-api/
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
19.09.2019, 13:03
COKPOWEHEU, что-то Вы не совсем по существу.
WinApi понадобится только для закрытия окна.
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
char path[100]={0},file[100];
while(true)
{
    int c=getch();
    cout<<(char)c<<' '<<hex<<(int)c<<endl;
    switch(c)
    {
       case 's':
         system("explorer");
         break;
       case 'f':
         strcpy(path,"D:\\temp\\NewFolderName");
         break;
       case 'k':
        {
           strcpy(file,path);
           strcat(file,"NewFile.txt");
           ofstream ff(file);
           if(ff)
           {
                ff<<"Hello!\n";
                ff.close();
           }
        }
        break;
       case 'w':
           strcpy(file,path);
           strcat(file,"NewFile.txt");
           remove(file);
           break;
       case 'e':
          //  вот тут надо использовать WinApi для закрытия окна;
          // не совсем уверен, но примерно так:
         {
         hWnd = FindWindow(NULL, _T("explorer"));
             if(IsWindow(hWnd)) 
                 SendMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,0);
         }
// а может можно и так
          system("taskkill /f /im explorer.exe");
   }
}
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,907
19.09.2019, 16:00
Цитата Сообщение от zss Посмотреть сообщение
COKPOWEHEU, что-то Вы не совсем по существу.
WinApi понадобится только для закрытия окна.
Тут вся задача завязана на windows, а не на С++: работа с проводником, поиск окон, отслеживание нажатий (не факт, что через getchar(), возможно через _kbhit а то и оконные события).
Цитата Сообщение от Kesha777 Посмотреть сообщение
закрытие текущего окна Проводника
Вот это вообще непонятно. Закрыть первого попавшегося проводника или того, который был открыть приложением? Можно ли открывать нескольких?
Я бы предположил, что именно открытых из программы и в любом количестве, но тогда логичнее было бы при открытии сохранять pid (или handle, не помню как оно в windows называется).
zss, под 'f' (указание пути к папке), вероятно, имелся в виду ввод пользователя
Цитата Сообщение от zss Посмотреть сообщение
hWnd = FindWindow(NULL, _T("explorer"));
Это точно сработает? Мне казалось, оно ищет по заголовку окна, а там путь обычно. То есть вообще заранее неизвестный текст.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
19.09.2019, 20:17
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это точно сработает?
Не уверен. Поиск идет действительно по заголовку окна, а какой он у проводника я не знаю.
0
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 192
19.09.2019, 20:53  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
system("taskkill /f /im explorer.exe");
а это сработает?
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
19.09.2019, 21:40
Цитата Сообщение от Kesha777 Посмотреть сообщение
а это сработает?
Сработает, но для explorer.exe есть нюанс: рабочий стол - это тоже explorer.exe.
Так что, может закрыться он, а не тот, который Вы запустили.
0
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 192
19.09.2019, 21:54  [ТС]
zss, можете скинуть полностью код, т.е какие библиотеки подключать и т.п. А то плохо разбираюсь.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
20.09.2019, 08:57
Цитата Сообщение от Kesha777 Посмотреть сообщение
какие библиотеки подключать
Есть такая клавиша помощи F1.
Ставите текстовый курсор на незнакомую функцию и жмете ее.
В открывшемся окне ищете раздел requirements, там и написано, какой заголовочный файл нужен.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,907
20.09.2019, 10:19
Цитата Сообщение от Kesha777 Посмотреть сообщение
zss, можете скинуть полностью код, т.е какие библиотеки подключать и т.п. А то плохо разбираюсь.
Так вам, наверное, и задание такое дали специально чтобы вы разобрались.
Еще было бы неплохо ответить на мои уточняющие вопросы, хоть я и задал их скорее zss'у:
1. Какой тип вашего приложения: консольный или оконный? От этого зависит, надо ли создавать собственное окно, зависит способ ввода-вывода и т.п.
2. Можно ли запускать несколько "проводников"?
3. Каков алгоритм закрытия "проводников": закрывать только открытые самой программой или вообще любые? Важен ли порядок?
4. Ввод символа 'f' означает указание пользователем пути к папке, в которой будет создан файл или просто вывод текущей?
5. При создании и удалении текстового файла ('k', 'w') откуда брать его имя?
0
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 192
20.09.2019, 22:50  [ТС]
COKPOWEHEU,
1. Консольный
2 и 3. Закрыть проводник тот который был открыт прогой
4. Честно говоря сам не понял этого пункта, но похоже что путь для создания файла.
5. Без разницы как реализуете, хоть ввод пользователем, хоть уже заданный.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,907
21.09.2019, 01:37
Цитата Сообщение от Kesha777 Посмотреть сообщение
2 и 3. Закрыть проводник тот который был открыт прогой
В таком случае посмотрите на ShellExecuteEx или CreateProcess или подобные. Если не ошибаюсь, они умеют возвращать указатель на созданный процесс, по которому его потом можно будет убить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2019, 01:37
Помогаю со студенческими работами здесь

Вывести таблицу ASCII кодов
Вывести таблицу ASCII кодов в двенадцать столбцов до появления строчной буквы й русского алфавита и определить, сколько ещё не выведено....

Сумма кодов ASCII символов в файле
Нужно посчитать сумму кодов ASCII символов в файле. При наличии в файле кириллицы, выдаются неправильные коды (отрицательные). Что может...

Вывести таблицу символов кодов ASCII
Вывести таблицу символов кодов ASCII таким образом, чтобы ряды обозначали кол-во десятков, а колонки кол-во единиц. А на пересечении этих...

Сформировать таблицу ASCII-кодов символов с номерами от a до b
Ввести натуральные числа a и b размером в один байт Сформировать таблицу ASCII-кодов символов с номерами от a до b. &quot;подскажите,как...

Зашифровать текст, используя таблицу ASCII-кодов
Помогите зашифровать данный текст, используя таблицу ASCII-кодов: Компилятор. Добавлено через 7 минут #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru