저장 장치 크기는 어떻게 알수있을까요??? <--제목수정!!

darkkal의 이미지


USB 저장 장치 용량을 구하는 프로그램을 짤려고 합니다. [윈도우에서 짤려고 합니다.]

FAT32 로 저장되어 있으면 앞에512byte 의 boot recoder 읽어서 그중에 size에 해당하는 비트를 보면
해당 파일 시스템의 SIZE를 구할 수 있다는 것은 알고 있는데요.

그런데 포멧을 하게 되면 포멧하는 프로그램이 구해서 거기다가 떄려박는 거잖아요,

이걸 짜고 싶은데 난감하네요

왜 난감하냐면요.

파일을 열고 SetFilePointer함수를 이용해서 FILE_END 를 하면 -1 이 리턴됩니다.
(SetFileFointer의 리턴 값이 파일 포인터의 위치)
-1 즉 0xFFFFFFFF 2의 32승 까지 밖에 못가잖아요.
2기가 3기가 짜리 읽을라면 어케해야하는거죠?????

아니 제가 접근한 방법이 올바른 것인지 궁금합니다.

Ps 시스템 함수까지 가르쳐주심 대박임죠 무하^^;;;;;;;;;;;;;;;;;;;;;;;

darkkal의 이미지

어케하지. 밑는건 kldp 뿐. 올스톱이넹. ㅠㅠ

feanor의 이미지

우선 제목에 쓸데없는 글자 쓰지 마시구요, "고수님" 같은 질문 내용과 무관한 말도 쓰지 마세요.

윈도우에서 짠다면 GetDiskFreeSpace와 GetDiskFreeSpaceEx를 쓰는 것이 보통입니다. 전자는 2 GB 이상의 크기를 처리하지 못하므로 후자를 써야겠지요.

darkkal의 이미지

감사드립니다.

근데 API말고는 방법이 없는건가여??????

fseek 으러 할수는 없나요????????????????

kasworld의 이미지

일단 제목부터 수정하시지요?

darkkal의 이미지

기대!!

제가 하는 것이 파일시스템 구축입니다.
USB에 저만의 파일시스템을 만들어서
제 컴퓨터에서 밖에 못읽게 하고 싶은건데요.

첨에 USB사이즈를 알아야하는뎅 (물론 USB에 적용된 FAT header정보를 보면 알수 있지만)
제가 구해야하거등요.

windows api 를 쓰면 header 값 같고 알아내는 거 아닌가요??

전 저만의 파일 시스템 구축이 목적이라서요.

제가 접근한 방법은

unsigned long fileSize

fopen(드라이브)
fseek(드라이브의 끝)
fileSize = ftell(드라이브의 끝)

그런데 결과는 참담하게도 0 이 나오더라고요.

-1 이면 error인데 0 이 나와서 더 이상. ㅠㅠ

댓글 달기

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