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

      자네도 동참하게.. ㅋㅋ



뚜는 지금.. 사랑해사랑해
아.. 열심히 살자..
남자B형염소자리인천

Categories

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

Recent Posts

  1. Android Studio 2.2 에서 layout 미리...
  2. mac 에서 ssh 접속시 한글 입력이 안될때.
  3. Android Studio. Zxing 라이브러리 사...
  4. 안드로이드 프로젝트를 SVN 등록시 bin...
  5. 안드로이드에서 android.annotation 를...

Recent Comments

  1. Thanhk you for this informative read... Software Engineering 2018
  2. 오전부터 이것때문에 하루 종일 고생함... choi 2016
  3. 진짜 님이 하루 죙일 겜방에 갇혀서 있... 굳굳 2015
  4. 대박 이걸 어떻게 찾으셨어요? 덕분에 ... 34524 2015
  5. 와 이건 진짜 신의한수 였네요~ 감사합... interlude 2015

Recent Trackbacks

Bookmarks

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

1316

989

google chart api graph

-30 days

today : 515

Site Stats

TOTAL 867327 HIT
TODAY 515 HIT
YESTERDAY 1008 HIT