Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
#1

Чтение из файла - C++

10.02.2013, 21:03. Просмотров 1522. Ответов 41
Метки нет (Все метки)

Люди, помогите, пжлст, новичку! Задача следующая есть файл abc.txt с наdписью abc10.12. Нужно сымитировать нажатие клавиш для цифр и точек (т.е. без abc). Никак не получается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 21:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла (C++):

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include <cstdlib> using namespace std; struct...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?

41
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
11.02.2013, 01:03  [ТС] #31
Цитата Сообщение от Vourhey Посмотреть сообщение
Нет. Почитай документацию. Там все написано. Какой параметр, для чего.
Резюме: я ни хрена не понимаю, что пишут в документации, ибо я не программист даже близко. Помощи с редактирование кода мне тут тоже не получить. Спасибо за наставления и желание научить. Сорри, что занял время.
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
11.02.2013, 01:03 #32
И написать программу я не смогу, окна у тебя на машине, у меня их нет. Поэтому и физически - никак. И желания нет.
0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
11.02.2013, 01:05  [ТС] #33
Цитата Сообщение от Vourhey Посмотреть сообщение
И написать программу я не смогу, окна у тебя на машине, у меня их нет. Поэтому и физически - никак. И желания нет.
Теперь я знаю что синхрофазатрон - это легко, просто надо почитать документацию. Здесь, здесь и здесь
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
11.02.2013, 01:08 #34
Цитата Сообщение от CplplNoob Посмотреть сообщение
Помощи с редактирование кода
На что изменить типы данных в коде я тебе уже писал - wchar_t вместо char.
Цитата Сообщение от CplplNoob Посмотреть сообщение
что пишут в документации, ибо я не программист даже близко.

Не по теме:

В следующий раз приду к стоматологу и попрошу его научить меня лечить зубы. Скажу, что книги читать не буду, потому что я не стоматолог даже близко и их не понимаю. Но буду упорно просить научить меня лечить зубы. А потом обижусь и уйду, бурча под нос, что они злыдни учить меня не хотят.

0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
11.02.2013, 01:13  [ТС] #35
Цитата Сообщение от Vourhey Посмотреть сообщение
На что изменить типы данных в коде я тебе уже писал - wchar_t вместо char.

Не по теме:

В следующий раз приду к стоматологу и попрошу его научить меня лечить зубы. Скажу, что книги читать не буду, потому что я не стоматолог даже близко и их не понимаю. Но буду упорно просить научить меня лечить зубы. А потом обижусь и уйду, бурча под нос, что они злыдни учить меня не хотят. Да-да, бывай.

Я не просил меня УЧИТЬ зубы лечить (я сказал, что не мой это профиль, поэтому и прошу помощи)... я попросил подлечить один зуб... А мне сказали - зуб лечить легко, вот книжки, придешь как прочитаешь и сам себе вылечишь. Хороший пример

Добавлено через 2 минуты


я поставил SetWindowTextA обошелся без wchar_t
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
11.02.2013, 01:19 #36
Цитата Сообщение от CplplNoob Посмотреть сообщение
Я не просил меня УЧИТЬ зубы лечить (я сказал, что не мой это профиль, поэтому и прошу помощи)... я попросил подлечить один зуб... А мне сказали - зуб лечить легко, вот книжки, придешь как прочитаешь и сам себе вылечишь. Хороший пример
Да, отличный. людям больше делать нефиг, как учить того, кто сам учиться не хочет.
Цитата Сообщение от CplplNoob Посмотреть сообщение
я поставил SetWindowTextA обошелся без wchar_t
Да, об этом я тоже писал.

Добавлено через 4 минуты
Вот, кстати, пример с сендинпутом. http://batchloaf.wordpress.com/2012/...ing-sendinput/
Тоже можешь глянуть и сделать для своей проги. Но для него окно должно быть активным и курсор должен находиться в поле.
1
ValeryS
11.02.2013, 01:31
  #37

Не по теме:

Цитата Сообщение от CplplNoob Посмотреть сообщение
А мне сказали - зуб лечить легко,
Конечно ничего сложного
только для этого всю жизнь учится надо, ибо каждый зуб разный
Цитата Сообщение от CplplNoob Посмотреть сообщение
вот книжки, придешь как прочитаешь и сам себе вылечишь.
Ну ты же сам хочешь вылечить
или ты думаешь есть такие учебники "Как вылечить зуб за пять минут"?
тебе же сказали закажи программу во фрилансе
только готовься конкретно говорить что за файл какой текст куда кинуть
а не так
Цитата Сообщение от CplplNoob Посмотреть сообщение
Результатом исполнения кода должно быть изменение цифр в выделенном поле.
не понятно что за поле? что за программа

0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
11.02.2013, 01:39  [ТС] #38
Цитата Сообщение от Vourhey Посмотреть сообщение
Да, отличный. людям больше делать нефиг, как учить того, кто сам учиться не хочет.

Да, об этом я тоже писал.

Добавлено через 4 минуты
Вот, кстати, пример с сендинпутом. http://batchloaf.wordpress.com/2012/...ing-sendinput/
Тоже можешь глянуть и сделать для своей проги. Но для него окно должно быть активным и курсор должен находиться в поле.
Да, это работает.

Если не затруднит, подскажите пжлст, как в коде надо поменять ввод символа на ввод строки
C
1
2
3
4
5
6
7
8
9
 ip.type = INPUT_KEYBOARD;
    ip.ki.wScan = 0; // hardware scan code for key
    ip.ki.time = 0;
    ip.ki.dwExtraInfo = 0;
    ip.ki.wVk = 0x41; // virtual-key code for the "a" key
    ip.ki.dwFlags = 0; // 0 for key press
    SendInput(1, &ip, sizeof(INPUT));
    ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
    SendInput(1, &ip, sizeof(INPUT));
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
11.02.2013, 01:57 #39
в цикле последовательно послать события о нажатии кнопочек.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void SendChar(char ch)
{
ip.type = INPUT_KEYBOARD;
 ip.ki.wScan = 0; // hardware scan code for key
 ip.ki.time = 0;
 ip.ki.dwExtraInfo = 0;
 ip.ki.wVk = 0x41; // virtual-key code for the "a" key
 ip.ki.dwFlags = 0; // 0 for key press
 SendInput(1, &ip, sizeof(INPUT));
 ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
 SendInput(1, &ip, sizeof(INPUT));
}
 
в основном коде:
char str[] = "12345";
for (int i = 0; i < 5; ++i)
{
   SendChar(str[i]);
}
0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
11.02.2013, 02:15  [ТС] #40
Цитата Сообщение от DU Посмотреть сообщение
в цикле последовательно послать события о нажатии кнопочек.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void SendChar(char ch)
{
ip.type = INPUT_KEYBOARD;
 ip.ki.wScan = 0; // hardware scan code for key
 ip.ki.time = 0;
 ip.ki.dwExtraInfo = 0;
 ip.ki.wVk = 0x41; // virtual-key code for the "a" key
 ip.ki.dwFlags = 0; // 0 for key press
 SendInput(1, &ip, sizeof(INPUT));
 ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
 SendInput(1, &ip, sizeof(INPUT));
}
 
в основном коде:
char str[] = "12345";
for (int i = 0; i < 5; ++i)
{
   SendChar(str[i]);
}
А что делать с этой строкой?
ip.ki.wVk = 0x41; // virtual-key code for the "a" key

и вместо "12345" можно подставить переменную, в которой содержится набор символов из файла?
0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
13.02.2013, 23:14  [ТС] #41
Цитата Сообщение от CplplNoob Посмотреть сообщение
А что делать с этой строкой?
ip.ki.wVk = 0x41; // virtual-key code for the "a" key

и вместо "12345" можно подставить переменную, в которой содержится набор символов из файла?
К сожалению, тема актуальна. Ау, люди, нужна помощь. Как передать сообщение из массива формата char в поле ввода окна (курсор находится в поле ввода)?

Добавлено через 1 час 15 минут
Цитата Сообщение от CplplNoob Посмотреть сообщение
К сожалению, тема актуальна. Ау, люди, нужна помощь. Как передать сообщение из массива формата char в поле ввода окна (курсор находится в поле ввода)?
Так, вроде бы получилось вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 INPUT ip;
      for (int z = 0; z < 8; ++z)
{    char x = lot[z];
    
    {ip.type = INPUT_KEYBOARD;
 ip.ki.wScan = 0; // hardware scan code for key
 ip.ki.time = 0;
 ip.ki.dwExtraInfo = 0;
 ip.ki.wVk =  (unsigned short)((unsigned char)(x)); 
 ip.ki.dwFlags = 0; // 0 for key press
 SendInput(1, &ip, sizeof(INPUT));
 ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
 SendInput(1, &ip, sizeof(INPUT));
    }}
Проблема в следующем: значение lot = 1.2, а передается 12 - не ставится точка. Не могу понять почему?

Добавлено через 22 часа 8 минут
Цитата Сообщение от Vourhey Посмотреть сообщение
На что изменить типы данных в коде я тебе уже писал - wchar_t вместо char.
Вот что получилось

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 INPUT ip;
      for (int z = 0; z < 8; ++z)
{    char x = lot[z];
    
    {ip.type = INPUT_KEYBOARD;
 ip.ki.wScan = 0; // hardware scan code for key
 ip.ki.time = 0;
 ip.ki.dwExtraInfo = 0;
 ip.ki.wVk =  (unsigned short)((unsigned char)(x)); 
 ip.ki.dwFlags = 0; // 0 for key press
 SendInput(1, &ip, sizeof(INPUT));
 ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
 SendInput(1, &ip, sizeof(INPUT));
    }}
Но теперь другая проблема не ставится точка для десятых вместо 2.5 выводит 25.
0
CplplNoob
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 66
17.02.2013, 21:17  [ТС] #42
Люди, ну выручайте же, как поставить эту долбанную точку разделитель ? Почему она не ставится?
0
17.02.2013, 21:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 21:17
Привет! Вот еще темы с ответами:

чтение из файла - C++
Здравствуйте, уважаемые программисты. Есть файл с записями (объектами), у каждой записи 3 параметра (переменные). Я считываю запись,...

Чтение файла - C++
Доброго времени суток. Пишу программу которая может читать каждый символ файла. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

чтение из файла - C++
файл текст... чтение... ... char font_name = {0}; int font_size = 0;

Чтение из файла - C++
Помогите дописать код чтения из файла. За ранее спасибо. void MyList::save() { Sotrydnik sSotrydnik; ofstream F; ...


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

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Опции темы

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