Search Results for 'char'

1 POSTS

  1. 2008/12/19 AIX에서 파일읽기. fgetc 가 EOF 를 만났을때 char 로 받기. (4)
int read_file2buf(char *filename, char *buf)
{
        FILE    *fp;
        int     i;
        char c;
        if(( fp = fopen(filename, "r"))==NULL) {
                ERROR("file(%s) open error!\n", filename);
                return(-1);
        }
        i = 0;
        while( (c = fgetc(fp)) != EOF ) {
                buf[i++] = c;
        }
        fclose(fp);
  
        buf[i] = '\0';
        return(i);
}


위의 소스는 뭐가 잘못됐을까.
그냥 보기에는 무난해 보인다

허나..
while( (c = fgetc(fp)) != EOF )
보기에는 이상한게 없어보이지만
AIX 에서는 EOF 비교를 못해서 buf 끝까지 가버린다.

EOF를 찍어보면 -1 이 나온다.
그런데 그때 c 를 찍으면 255가 나온다.

눈치챘는가..
AIX 컴파일러는 char가 default 값으로 unsinged char 인것으로 보인다.
fgetc를 통해서 -1 이 나왔지만
c 가 unsigned 형이니 -1 의 unsinged 값인 255가 나오는것이다.

해결할려면
char c 를 int c로 바꿔준다.

오늘도 한건 배운다



크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/19 12:41 2008/12/19 12:41

Trackback URL : http://simplelife.pe.kr/tc/trackback/621

  1. # 박진영 2009/03/25 08:54 Delete Reply

    나랑 똑같은 문제를 풀었었군 ㅎㅎㅎ

    1. Re: # 서툰걸음 2009/04/09 17:30 Delete

      그런건 미리미리 공유해야징~

  2. # 우중산보 2009/04/10 18:12 Delete Reply

    두 사람 댓글 대화가 왤케 서글프냐... 흑흑흑

    1. Re: # 서툰걸음 2009/04/17 11:11 Delete

      자네도 동참하게.. ㅋㅋ

Leave a comment


뚜는 지금.. 사랑해사랑해
과연 깜작이는..
남자B형염소자리서울

Categories

전체 (605)
뚜.. 서툰.. (375)
폰 이야기 (13)
나의 길 (73)
읽을거리 (21)
사진갤러리 (124)

Recent Posts

  1. SNS Terminal
  2. 와이브로 사용한다면 올레 와이파이 멀...
  3. Java Decomplier 설정 및 오류 해결.
  4. 쩝.. 이젠 장년층인가..
  5. MyLocationOverlay 사용시 갤럭시A에...

Recent Comments

  1. 자세한 설명 .. 감사합니다. kim 2011
  2. 몇 년 지나면 이제 노년층일세... 서툰걸음 2011
  3. 아~놔... 이 글 왤케 웃기지 ㅋㅋㅋ 김기영 2011
  4. 사진이 있으면 좋은데 글로만 적어놔서... 서툰걸음 2011
  5. 도움이 많이 되었습니다. 감사합니다!! konahn 2011

Recent Trackbacks

  1. 방화벽 막힌곳에서 무선랜을 이용해서 ... A 2010

Bookmarks

  1. ATOMOS
  2. c3cc3's Homepage
  3. 봄실
  4. 우중산보... 그 싱그러운 여유

86

56

google chart api graph

-30 days

today : 40

Site Stats

TOTAL 186030 HIT
TODAY 40 HIT
YESTERDAY 61 HIT