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

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

Войти
Регистрация
Восстановить пароль
 
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
#1

Чтение данных из консоли - C++

18.04.2014, 02:28. Просмотров 751. Ответов 12
Метки нет (Все метки)

Доброй ночи, пытаюсь написать программу, застопорился на одном этапе. Я командой ping google.com в консоль пытаюсь проверить наличие интернета, на самом простейшем уровне это выглядит как , (если элемент на данной позиции = параметру, то интернет есть, иначе нет), так вот, после команды system("ping...") У меня не получается вернуться и считать данные, вернее передвинуть курсор получилось, а вот считать нет. Вот сам код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
{
    LPTSTR p;
    const int sz = 3;
    CONSOLE_SCREEN_BUFFER_INFO info;
    DWORD cbRead = 0;
    HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(hCon, &info); 
    COORD position = { 26, 5 };
    
    system("ping -n 1 google.com");
    SetConsoleCursorPosition(hCon, position);
    ReadConsoleOutputCharacter(hCon, p, sz, position, &cbRead);;
    }
П.С. VS 2013, Сам в написанном мало что понимаю, инфу брал с этого же форума.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 02:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение данных из консоли (C++):

Чтение пробела из консоли. - C++
temp = new char; temp2 = new char; cout<<"Введите Название События: ";scanf("%s",temp); cout<<"Введите Описание События:...

Чтение символов с консоли - C++
Как записать в строку уже выведенные на консоль символы, в том числе пробелы? scanf ждет, что я их введу с клавиатуры Среда - Борланд...

Чтение и запись в консоли - C++
Здравствуйте, могли бы вы подсказать как данное сделать? Мне нужно записать в консоль данные (Учитывая что это dll которая будет...

Ошибка чтение файла в консоли - C++
Ниже реализована программа по обработке файла данных " Репертуар кинотеатров" в котором указаны название кинотеатра и название фильма,...

Чтение с клавиатуры ситемной клавиши F5 в консоли - C++
#include <iostream> /*#include <string> #include <ctime>*/ #include <Windows.h> int main(int argc, char *argv){ ...

Динамическое чтение полей класса Student из консоли - C++
Разработать класс Student со следующими полями: Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс. Включить в класс...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 03:50 #2
Память под то, куда читаете, выделили?
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 15:09  [ТС] #3
Вроде нет, просто объявляю ту переменную, куда надо бы слить значения
C
1
char p[3]
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 15:22 #4
Цитата Сообщение от Allivee Посмотреть сообщение
Вроде нет, просто объявляю ту переменную, куда надо бы слить значения
C++
1
char p[3]
В выложенном коде ничего такого нет.
Цитата Сообщение от Allivee Посмотреть сообщение
а вот считать нет.
Откуда видите, что чтения нет?
Если читаете в строку, нужно место под '\0', который после чтения нужно добавить (я так понимаю, что ReadConsoleOutputCharacter() терминальный ноль не добавляет?), иначе вывод неправильный будет.
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 15:28  [ТС] #5
я потом вывожу массив р, он пустой
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 15:35 #6
Код в студию!
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 15:43  [ТС] #7
C
1
2
3
for (int i = 0; i < 3; i++){
            cout << p[i];
        }
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 15:44 #8
Весь код, который пробуете.
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 15:56  [ТС] #9
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
#include "stdafx.h"
#include <stdio.h>
#include <dos.h>
#include <time.h>
#include <iostream>
#include <Windows.h>
char p[3];
int main(){
    LPTSTR p;
    const int sz = 3;
    CONSOLE_SCREEN_BUFFER_INFO info;
    DWORD cbRead = 0;
    HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(hCon, &info); 
    COORD position = { 26, 5 };
    system("ping -n 1 google.com");
    SetConsoleCursorPosition(hCon, position);
    ReadConsoleOutputCharacter(hCon, p, sz, position, &cbRead);
    COORD pos = { 1, 10 };
    SetConsoleCursorPosition(hCon, pos);
    for (int i = 0; i < 3; i++){
        cout << p[i];
    }
    return main();
}
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 16:08 #10
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
#include "stdafx.h"
#include <stdio.h>
#include <dos.h>
#include <time.h>
#include <iostream>
#include <Windows.h>
 
//char p[3];
 
int main(){
    LPTSTR p = new char[3];
    const int sz = 3;
    CONSOLE_SCREEN_BUFFER_INFO info;
    DWORD cbRead = 0;
    HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(hCon, &info); 
    COORD position = { 26, 5 };
    system("ping -n 1 google.com");
    SetConsoleCursorPosition(hCon, position);
    ReadConsoleOutputCharacter(hCon, p, sz, position, &cbRead);
    COORD pos = { 1, 10 };
    SetConsoleCursorPosition(hCon, pos);
    for (int i = 0; i < 3; i++){
         std::cout << p[i];
    }
    //return main(); // это зачем?
    std::cin.get();
    return 0;
}
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 16:11  [ТС] #11
IntelliSense: значение типа "char *" нельзя использовать для инициализации сущности типа "LPTSTR"
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 16:29 #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Юникод, в ствойствах проекта, отключите.

Добавлено через 12 минут
И?...
Allivee
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 8
18.04.2014, 16:39  [ТС] #13
Всё получилось, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2014, 16:39
Привет! Вот еще темы с ответами:

Чтение из файла определённого места и сортировка данных исходя из этих данных - C++
Есть некий текстовый документ, содержащий информацию о посещении сайта в формате: Например 12.5.76.200 04:23 Mon Цель:...

Ввод данных в консоли - C++
При вводе в консоль названия элемента, должна выводиться его плотность. Когда ввожу имена элементов первой структуры ( Fluids) и при...

Считывание данных из консоли - C++
Здравствуйте! Вот задача: есть программа, вызывающая посредством system() другую программу. Та, в свою очередь, печатает в консоль...

Работа с базой данных из консоли - C++
Доброго времени суток. Раньше никогда с БД не работал, а тут интересно стало, как все это работает. С обычным приложение все...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.04.2014, 16:39
Ответ Создать тему
Опции темы

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