스트림 지정 왜 해주나여?..

min2to의 이미지

굳이 해줘야 되는 이유가 있나여?

그냥 printf,scanf,get,put등등 으로 해주면 될텐데..

fopen을 써서..

(책에서는 그냥 스트림을 해줄려고 열고 닫기가 필요하다?)

이런식으러 나와있는데 굳이 해주는 이유를 모르겟네여

eminency의 이미지

질문 내용을 정확히 모르겠습니다.

printf나 scanf 하기 전에 fopen을 해주라고 책에 써 있던가요?
아니면 fscanf, fprintf를 stdin, stdout으로 하는데 fopen을 하라는 것인가요?

그리고 printf, scanf로 파일 스트림을 다루지는 않습니다.

printf, scanf 등등은 표준 입출력을 위한 것이고, fopen은 일반적인 파일을 파일 스트림으로 처리하기 위한 함수입니다.

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

익명 사용자의 이미지

eminency wrote:
질문 내용을 정확히 모르겠습니다.

printf나 scanf 하기 전에 fopen을 해주라고 책에 써 있던가요?
아니면 fscanf, fprintf를 stdin, stdout으로 하는데 fopen을 하라는 것인가요?

그리고 printf, scanf로 파일 스트림을 다루지는 않습니다.

printf, scanf 등등은 표준 입출력을 위한 것이고, fopen은 일반적인 파일을 파일 스트림으로 처리하기 위한 함수입니다.

잘못써ㅅ군여 제가 ..

fopen함수를 어느때에 쓰는지 잘모르겟어서여..

Kroisse의 이미지

가장 일반적으로 파일을 열 때 쓰지요 :D

only2sea의 이미지

파일 뿐만 아니라 다른 입출력 장치에도 쓸 수 있지요. stdin, stdout, stderr 같은..

익명 사용자의 이미지

scanf()도 파일에서 읽지요.
stdin 파일입니다. 이는 프로그램 실행시 기본적으로 열리는 파일입니다.(stdout, stderr 이렇게 3개의 파일은 매 프로그램 실행시 자동으로 열리는 파일입니다)

fscanf( stdin, ...) ==== scanf( ...) 과 동치입니다.

hurricanepark의 이미지

C에서는 모든걸 파일로 인식한다고 들었습니다.
마우스장치, 모니터.. 등등...
모든 장치를 파일로 인식하기때문에 이장치들을 제어할려면 fopen을 쓰는거에요
함수들중에 f로 시작하는것은 파일관련 함수라고 생각하시면 됩니다.
그리고 위에서도 지적하셨듯이 stdout, stderr, stdin을 보실수 있으실텐데요
std(표준)out(출력), stderr(오류), stdin(입력) 을 말하는 거에요 표준출력
모니터겠죠.. 표준입력 키보드겠죠... 그래서 fscanf(stdin,..) 이것이 scanf()와 동일한 의미입니다.
참고하시면 좋겠다고 생각되어서 허접하지만 몇자 적어드립니다. 도움이 되셨으면 좋겠네요.

오늘 하루두 즐거운 하루였으면 좋겠습니다.

kslee80의 이미지

C 에서 라기보다는 Unix 를 계승한 OS 들의 특징이 모든 것을 파일로 인식하는 것이죠.
Windows 의 경우는 POSIX 에 정의된 콜/BSD Socket 정도의 API 만이
Unix 계열 OS 처럼 장치를 파일로 인식하여 사용할 수 있죠.

그리고, Unix 계열이라고 하더라도 모든 것을 파일로 인식할 수 있는것은 아니죠.
고유의 API 를 사용할 수도 있습니다. 그것은 장치 개발자가 정하는 것이죠.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.