Getch() в Visualstudio2008

Тема в разделе "MS Visual C++", создана пользователем okwell5, 25 янв 2011.

Статус темы:
Закрыта.
  1. okwell5

    okwell5 Гость

    Как решить проблему?
    1. В коде, что ниже, функция _getch() почему-то не задерживает экран.
    2. Я специально написал int _getch, так как если просто _getch(), то выдает ошибку, что идентификатор не найден: см. скрин1.
    3. Если напишу getch(), тоже неправильно.
    Код (C++):
    // Prog.cpp : Defines the entry point for the console application.
    //
    #include "iostream.h"
    #include <fstream>
    #include <conio.h>

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <direct.h>
    #include <errno.h>
    #include <tchar.h>


    #include "stdafx.h"
    //using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    //cout<<"OK!";
    printf("Unicode version ђгббЄЁ© п§лЄ\n");
    printf("MBCS version\n");
    //scanf(int i);
    int i=7;
    scanf( "i1=", &i );
    printf("\ni=",i);
    //scanf( "i2=", &i );
    _getch();
    return 0;
    }
     

    Вложения:

    • ______1.jpg
      ______1.jpg
      Размер файла:
      99 КБ
      Просмотров:
      54
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Компилируешь как консольное приложение?
    Что пишет если _getch() заменить на getch() ?
    И попробуй отключи precompiled headers.
     
  3. okwell5

    okwell5 Гость

    1. Я создал консольное приложение. Запускаю обычно через меню Debug->StartDebugging(F5).
    Попробовал еще запустить Debug->StartWithoutDebugging(Ctrl+F5) запускается нормально
    2. Заменял _getch() на getch(), все равно ошибка та же, что в скане.
    3. precompiled headers искал, не знаю где отключить. Я только перед запуском файл *.pch удаляю каждый раз.

    Да, еще: пишу int getch() или int _getch() и ошибки нет, но эта функция не работает.
    Кстати, еще scanf последний не срабатывает.
     
  4. okwell5

    okwell5 Гость

    Поискал, precompiled headers, отключен.
     
  5. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Так у тебя отладить не получается или скомпилировать?
     
  6. solova

    solova Гость

    если нужна просто задержка то убери "//" у "using namespace std;" и в место "getch()" напиши "cin.get()" - и консоль не закроется пока не нажмёшь Ентер
     
  7. okwell5

    okwell5 Гость

    У меня прога не запускалась.

    Все в порядке, сделал. Теперь запускается, геч работает, но до сих пор не понял это странное явление, предупреждения тоже исчезли. А сделал я вот как:
    Код (C++):
    #include "stdafx.h"
    #include <iostream>
    #include <fstream>
    using namespace std;
    #include <fstream>
    #include <conio.h>

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <direct.h>
    #include <errno.h>
    #include <tchar.h>

    #include<math.h>

    .....//мой код

    _getch();
     
  8. okwell5

    okwell5 Гость

    Теперь еще одна проблема с этой же функцией, и не знаю, что бы сделать, чтобы именно так работало.
    Код (C++):
    enum key_codes{
    UP=72,DOWN=80,F1=59,HOME=0x47,END=0x4F,PgUp=0x49,PgDn=0x51,Ctlq=0x11,ENTER=
    13,TAB=9
    };


    int _tmain(int argc, _TCHAR* argv[])
    {
    ifstream inFil("D:\\text.txt");
    if(!inFil)
    {
    //cout<<"\nНе открыт файл «"<<"D:\\text.txt";
    _getch();
    return 1;
    }

    /*ofstream outFil("D:\\text.txt");
    if(!outFil)
    {
    cout<<"\nНе открыт файл «"<<"D:\\text.txt";
    _getch();
    return 1;
    }*/

    /*ifstream myFile("D:\\text.txt");
    if(!myFile)
    {
    cout<<"\nНе открыт файл «"<<"D:\\text.txt";
    _getch();
    return 1;
    }*/

    //out to display
    //*s=" ";
    char ch;
    char mas[3000];
    //mas[0]=' ';
    int i=0;

    cout<<"„ ­­лҐ Ё§ д ©« :\n";
    while(inFil.get(ch))
    {
    //cout<<ch;
    mas[i]=ch;
    mas[i+1]='\0';
    s=mas;
    cout<<mas[i];
    //cout<<"\t"<<mas[i];   //<<"\n";

    //*s=*s+ch;
    ++i;
    }
    cout<<"\n";
    //---key-worker----------------
    enum key_codes key;
    //int k=_getch();
    //keys();
    //key=k;
    while(key!=27)
    {

    key = _getch();
    if(key==0||key==224)
    {
    key = _getch();
    switch(key)
    {
    case DOWN:
    {
    cout<<"\n DOWN";
    continue;
    }
    case UP:
    {
    cout<<"\n UP";
    continue;
    }
    default:
    {
    cout<<"\n DEFAULT IF";
    continue;
    }
    }
    }
    else
    switch(key)
    {
    case ENTER:
    {
    cout<<"\n ENTER";
    continue;
    }
    case TAB:
    {
    cout<<"\n TAB";
    continue;
    }
    default:
    {
    cout<<"\n DEFAULT ELSE";
    continue;
    }
    }
    }
    //---end of key-worker----------
    //CursorControl(int CursorSize);


    _getch();
    return 0;
    }
     

    Вложения:

    • __________.jpg
      __________.jpg
      Размер файла:
      119,7 КБ
      Просмотров:
      15
Статус темы:
Закрыта.

Поделиться этой страницей