<Signal.H> C Hakında Bilgisi Olanlar ?
-
merhaba linuxte shell yazıyorum benım projem yanlız anlamadıgım sey history kısmını yaptım control-c ye basınca son girilen 10 konudu yazıyor tek sorunum s L tusune bastıgım zaman history deki komudları calıstırcak söyleki
history 1. ls
history 2. ls-l
history 3. ls -m
history 4. ls -la
history 5. ls -dir
örnek output bunu dersek kulanıcı ückere L tusuna bastıgı zaman history 3. sıradakı komut calisacak veya sonra R tusuna 2 kere basınca History 4. sıradakı komut calısacak
bunlar sinyallerle ile yapılıyor bu konu hakında yardım edecek varmi kolay gelsın ....
-
şansına ....:)Kardeşimin pcsinde linux yok bakim externalıma varsa hemen virtuala kurup yardım etmeye çalışıcam dostum.
-
tamamdır dostum beklemedeyım ...
-
bu konuda başka yardım edebilcek birileri varmı yarın proje teslim .. :(
-
AlpereN bunu yazdı:
-----------------------------
bu konuda başka yardım edebilcek birileri varmı yarın proje teslim .. :(
-----------------------------hoca keşke son güne bırakmasaydın
sandman bu konularda en dashaqlı adamlardan biridir.Onun yardımı yeter :)
-
şimdi abi signal.h nin dökümantasyonunu okuyorumda. daha çok esc alt gibi tuşları handle etmek için 2 kere Lyemi basılıcak yoksa 2 kere ctrl+l yemi basılıcak?Araştırıyorum bir yandan Linux yok kotalı oldugundan indiremiyorumda.
edit : illa signal ile yakalamak olmasa her hangi bir şekilde cursor key'i okuruz
bir if döngüsü ile
if(cursor_key=f){
if(cursor_key=f){
işlermler}} böyle birşey yapabilirizde.
-
ornek veriyorum
bu kismi history kodu
int main(){char history[5][100];char buffer[50];int i,j;for (j=0;j<5;j++){printf(" kod gir ");gets(buffer);strcpy(history[j],buffer);}for (i=0;i<5;i++){printf("history %d giren %s \n " ,i,history[i]);}system("pause");return 0;}outputhistory 1 lshistory 2 ls -ahistory 3 ls -mhistory 4 ls -lahistory 5 ls -direger kulanıcı 1 kere basarsa sadece l ye ls komutu caliscak eger 3 kere basarsa ls -m kodu calıscakeger kulanıcı 1 kere basarsa sadece r ye ls -dir komutu calıscak eger 3 kere basarsa yine ls -m caliscakistedigi komutu seçip enter tusuna basınca caliscakyon tuslari ilede olabilir -
anladım hacım ama signal.h zorumlumu ? dedigim bu?Bazı hocalar zorunlu tutuyorda
-
sinyalsizde olabilir eger varsa sinyalsız yol benim icin daha iyi projenın sunumu daha kolay olur :)
-
AlpereN bunu yazdı:
-----------------------------
sinyalsizde olabilir eger varsa sinyalsız yol benim icin daha iyi projenın sunumu daha kolay olur :)
-----------------------------bende zorumlu sandım fellik fellik arıyorum nasıl oluyor bu iş diye allah iyiligini versin:) bir tane char array yap içine at kıyasla sürekli böylelikle 2 tane ff oldugunda direk history çalışır. yok ben bunla ugraşmam diyorsan
getchar kullan:)
char c;
if(char c==f){
char c2;if(char c2==f){
//history çalıştır
}
else
//ekrana yaz
}else
//ekrana yazkodu bir yerimden attım ama buna benzer birşey
-
char c;
if(char c==f){ char c2;
if(char c2==f){ //history çalıştır }
else //ekrana yaz }
else //ekrana yaz
mesela f neyi temsil ediyor biraz acıklayabilirmizin kodu
normaldir hocam ayak ustu ekıpman olmadan bu kadar oluyor benım basımada gelmisti
bu arada sayfa gec acılıyor o yuzden gec cevap verebiliyorum kusura bakma