2011-11-06 37 views
2

私はこのWin32/cコンパイラ用Cプログラムを書いていますが、Linuxマシンでgccを使って実行しようとしていますが、 "conio.h:このようなファイルやディレクトリのコンパイルは終了していません"他の新しい含めずにこのプログラムを実行することcurses.hはWindows conio.hを使用してLinuxに移植する方法は?

#include<stdio.h> 
#include<conio.h> 
void main() 
    { 
    int i=0,j=0,k=0,n,u=0; 
    char s[100],c2,c[10]; 
    char c1[3]={'a','b','c'}; 
    clrscr(); 
    printf("no of test cases:"); 
    scanf("%d",&n); 
    for(u=0;u<n;u++) 
    { 
printf("Enter the string:"); 
scanf("%s",s); 
    i=0; 
while(s[i]!='\0') 
    { 
    if(s[i+1]=='\0') 
     break; 
    if(s[i]!=s[i+1]) 
    { 
     for(j=0;j<3;j++) 
     { 
    if((s[i]!=c1[j])&&(s[i+1]!=c1[j])) 
    { 
     c2=c1[j]; 
    } 
} 
    s[i]=c2; 

    for(k=i+1;k<100;k++) 
    { 
s[k]=s[k+1]; 
} 
    i=0; 
    } 
    else 
    i++; 
} 
c[u]=strlen(s); 

} 
for(u=0;u<n;u++) 
printf("%d\n",c[u]); 
getch(); 
} 

答えて

0

私は3つの機能が必要かどうかをあなたのコードで見ていませんでした。しかし、これはそれらを手に入れる単純な方法です。通常、getch()を使うよりも良い方法があります。 clrscr()もあなたの画面をクリアするときに楽しいです! getchは()プログラムなし

#include<stdio.h> 
#include <stdlib.h> // system 
#include <string.h> // strlen 
#include <termios.h> // getch 
#include <unistd.h> // getch 

void clrscr() 
{ 
    // Works on systems that have clear installed in PATH 
    // I don't like people clearing my screen though 
    system("clear"); 
} 


int getch() 
{ 
    struct termios oldt, newt; 
    int ch; 

    tcgetattr(STDIN_FILENO, &oldt); 
    newt = oldt; 
    newt.c_lflag &= ~(ICANON | ECHO); 
    tcsetattr(STDIN_FILENO, TCSANOW, &newt); 
    ch = getchar(); 
    tcsetattr(STDIN_FILENO, TCSANOW, &oldt); 
    return ch; 
} 

getch()

3

のように含まれますが、conio.hから使用しているだけの機能がclrscr()getch()ているように見えます。それらを取り出して、あなたはうまくいくはずです - 彼らはプログラムの操作に影響を与えないようです。ここでは、Windows端末の動作の回避策のように使用されています。

ノートのカップル:

  1. main()intを返す必要があります。
  2. strlen()string.hで定義されています。おそらくそれを含めることになります。
+0

... – Vilva

2

私はclrscr()とgetch()のconio.hを使用していますが、gccではこのヘッダーは使用できません。だから、clrscrため

system("clear"); 

を使用して、あなたは、getchは()のために述べてきたようにcursesライブラリに

乾杯を使用!

+0

呪いが過剰ですタイムアウトしています。 'gets()'はうまくいくでしょう。 –

関連する問題