Witam, napisałem prosty edytor tekstowy w c++, Ale nie wiem jak dodać obsługę dla backspace. Proszę tylko o usuwanie ostatniego znaku z pliku, oto kod:
main.cpp:
#include "lib.h"
int main(int argc, char** argv) {
ofstream fin("plik", ios::app); //Otwieranie pliku "plik"
int stary = getch(); //Deklaracja i nadanie wartosci zmiennej "stary" (Do przechowywania informacji o nacisniętym klawiszu)
for(;;) //nieskończona pętla for
{
//sprawdzanie jaki klawisz nacisnięto, wyswietlenie go i przesłanie do pliku(początek)
if(stary == 8)/*BACKSPACE*/{
//Tu instrukcje dla backspace
}
if(stary == 13)/*ENTER*/{
fin << endl;
cout << endl;
}
if(stary == 27)/*ESC*/{
return 0;
}
if(stary == 32)/*SPACE*/{
fin << " ";
cout << " ";
}
if(stary == 33){
fin << "!";
cout << "!";
}
if(stary == 44){
fin << ",";
cout << ",";
}
if(stary == 46){
fin << ".";
cout << ".";
}
if(stary == 48){
fin << "0";
cout << "0";
}
if(stary == 49){
fin << "1";
cout << "1";
}
if(stary == 50){
fin << "2";
cout << "2";
}
if(stary == 51){
fin << "3";
cout << "3";
}
if(stary == 52){
fin << "4";
cout << "4";
}
if(stary == 53){
fin << "5";
cout << "5";
}
if(stary == 54){
fin << "6";
cout << "6";
}
if(stary == 55){
fin << "7";
cout << "7";
}
if(stary == 56){
fin << "8";
cout << "8";
}
if(stary == 57){
fin << "9";
cout << "9";
}
if(stary == 63){
fin << "?";
cout << "?";
}
if(stary == 97){
fin << "a";
cout << "a";
}
if(stary == 98){
fin << "b";
cout << "b";
}
if(stary == 99){
fin << "c";
cout << "c";
}
if(stary == 100){
fin << "d";
cout << "d";
}
if(stary == 101){
fin << "e";
cout << "e";
}
if(stary == 102){
fin << "f";
cout << "f";
}
if(stary == 103){
fin << "g";
cout << "g";
}
if(stary == 104){
fin << "h";
cout << "h";
}
if(stary == 105){
fin << "i";
cout << "i";
}
if(stary == 106){
fin << "j";
cout << "j";
}
if(stary == 107){
fin << "k";
cout << "k";
}
if(stary == 108){
fin << "l";
cout << "l";
}
if(stary == 109){
fin << "m";
cout << "m";
}
if(stary == 110){
fin << "n";
cout << "n";
}
if(stary == 111){
fin << "o";
cout << "o";
}
if(stary == 112){
fin << "p";
cout << "p";
}
if(stary == 113){
fin << "q";
cout << "q";
}
if(stary == 114){
fin << "r";
cout << "r";
}
if(stary == 115){
fin << "s";
cout << "s";
}
if(stary == 116){
fin << "t";
cout << "t";
}
if(stary == 117){
fin << "u";
cout << "u";
}
if(stary == 118){
fin << "v";
cout << "v";
}
if(stary == 119){
fin << "w";
cout << "w";
}
if(stary == 120){
fin << "x";
cout << "x";
}
if(stary == 121){
fin << "y";
cout << "y";
}
if(stary == 122){
fin << "z";
cout << "z";
}
stary = getch(); //Nadanie nowej wartosci dla "stary"
//sprawdzanie jaki klawisz nacisnięto, wyswietlenie go i przesłanie do pliku(koniec)
}
}
lib.h:
#include
#include
#include
#include
#include
using namespace std;
Ps. Wiem że na razie nie wyświetla poprzednio zapisanych danych ale zajmę się tym gdy rozwiążę sprawę backspace, sorry za brak “ś” w kodzie ale IDE mi na to nie pozwala