다시 한번만 리눅스에서 C언어 헤더<conio.h> 연결방법 줌

sageblue의 이미지

$vi sum.c 이라는 파일에서,

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int su1;
clrscr();
printf("is print...\n");
cout << " 한 정수 입력 ☞ ";
cin >> su1;
printf("%d\n",&su1)
}

$gcc -o sum sum.c

sum.c:2:19: conio.h: No such file or directory
sum.c:3:22: iostream.h: No such file or directory

위의 헤더문을 찾을 수 없다고, 에러 명령이 뜸니다!
어떻게 해야 ... 위의 헤더명(<conio.h>,<iostream.h>)을 사용할수있나요??

아참! 또 하나,
root(#)가 아닌 기본계정($)으로는 헤더를(<conio.h>,<iostream.h>) 사용할수 없나요??

제발 가르쳐 주세요!

이것 때문에 리눅스에서 C언어가 실행이 않됨니다!
가르침을 부탁 드립니다!

------------------------- 오늘도 좋은 하루 맞으세요! ----------------------------

cdpark의 이미지

conio.h는 예전의 DOS용 Turbo C 컴파일러에 있던 함수입니다.
iostream.h는 예전 표준의 C++ 언어 헤더 파일입니다.

:(

입력하신 프로그램을 컴파일하기 위해서는 위 두 헤더파일이 필요하지 않습니다.

cjh의 이미지

cin과 cout을 쓰고 있으니 iostream은 필요할 것 같네요. :)

그나저나 일단 확장자를 .cc로 바꾸고(C++ 소스니까), 이후에 namespace등을 적절히 추가하고... 컴파일도 g++로 하셔야 되고요, conio.h는 cdpark님 말씀대로 DOS용 Turbo C에만 있는 거니까 유닉스라면 ncurses등의 대체 라이브러리를 써야 합니다.

저는 C++을 몰라서 못고치겠군요 :)

--
익스펙토 페트로눔

맹고이의 이미지

C, C++과 비표준이 짬뽕되어 있네요... ^^;

최근에 나온 좋은 책사서 차근차근 해보시는게 좋을 듯 합니다.

vacancy의 이미지

#include <iostream>

using namespace std;

int main() {
  int su1;

  cout << "is print..." << endl;
  cout << "한 정수 입력 : " << flush;
  cin >> su1;
  cout << su1 << endl;

  return 0;
}

# g++ -o input input.cc
# ./input
sageblue의 이미지

:oops:
답변해주셔서 감사합니다!

그래도, 아직 이해가 않되네요!
수준이 미달되어서 ㅠ.ㅠ;

#include <iostream>
using namespace std;

#include <conio.h>
???????????????????;

다른 해더에 관한 using ???? std; 는 없나요?
있으면 전부 줌 가르쳐주세요!(괄련되는 사이트라도!!) 부탁드립니다!

cjh의 이미지

C++부터 차근차근 먼저 공부하셔야 되겠습니다. :<

--
익스펙토 페트로눔

vacancy의 이미지

conio.h 는요.
DOS 시절 Turbo C 등에서 지원하던 헤더로,
표준 헤더가 아니고 Borland에서 임의로 제공한 헤더입니다.
Linux에서는 비표준 헤더인 conio.h를 지원하지 않습니다.

conio.h에 너무 집착하지 마시고,
언어부터 확실히 익혀주시는게 좋을 것 같네요.

참고로 화면 지우는 것은 ncurses 라이브러리를 쓰시면 될텐데요.
전 써본적이 없어서 -_- 도와드릴 수가 없군요.
( 이해가 안가시겠지만 화면 지울 일이 별로 없더라는 -_-; )

vacancy의 이미지

참고로 C로는 ..

#include <stdio.h>

int main() {
  int su1;

  printf("is print...\n");
  printf("한 정수 입력 : "); fflush(stdout);
  scanf("%d", &su1);
  printf("%d\n", su1);

  return 0;
}

정도가 될 것 같네요. ( 컴파일 안해봐서 될라나 -_-; )
파일명 sum.c 하고는 안 어울리는 것 같습니다만. -_-;

monpetit의 이미지

화면을 지우는 함수는 이렇게 구현하면 됩니다.

void clrscr(void)
{
    write (1, "\033[1;1H\033[2J", 10);
}

참고하세요. 그리고 UNIX에선 conio.h를 아예 잊어주시길... =)
lunarainbow의 이미지

void clrscr(void) 
{ 
    write (1, "\033[1;1H\033[2J", 10); 
}

이 함수의 원리가 어떤것이예요??

테스트 해보니깐, clear 명령이랑 같은 효과던데, 어떻게 동작하는 것인지 이해가 안되네요.

혹시 설명 가능하시면 부탁드립니다. :wink:

cdpark의 이미지

지금 보고 계신 책이 무언지요? <conio.h>를 언급하는 책이라면 버리셔도(-_-) 됩니다. 아니, 버리는게 좋습니다. 프로그래밍의 처음 습관을 잘 들이세요.

kslee80의 이미지

lunarainbow wrote:
void clrscr(void) 
{ 
    write (1, "\033[1;1H\033[2J", 10); 
}

이 함수의 원리가 어떤것이예요??

테스트 해보니깐, clear 명령이랑 같은 효과던데, 어떻게 동작하는 것인지 이해가 안되네요.

혹시 설명 가능하시면 부탁드립니다. :wink:

ANSI 코드를 출력하는 것이죠...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.