디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 이 소스 좀 봐줘

라공(123.99) 2011.05.24 18:55:36
조회 58 추천 0 댓글 0

#include <stdio.h>
#include <stdlib.h>

#pragma warning(disable:4996)

#define TRUE 1
#define FALSE 0


typedef struct {
 char M, N;  // 매직넘버
 int  width;
 int  height;
 int  max;
 unsigned char **pixels;
} PGMImage;


int fnReadPGM(char* fileNm, PGMImage* img);
void fnClosePGM(PGMImage* img);
int fnWritePGM(char* fileNm, PGMImage* img);

int main(int argc, char** argv)
{
 PGMImage img;
 
 if(argc != 2){
  fprintf(stderr, "사용법 : %s <담장이예찬글>\\n", argv[0]);
  return -1;
 }


 if(fnReadPGM(argv[1], &img) != TRUE){
  return -1;
 }


 // <-- 결과 확인은 파일로 대체
 if(fnWritePGM("E:\\\\test\\\\result.pgm", &img) == TRUE){
  printf("파일 저장완료!\\n");
 }
 // -->

 fnClosePGM(&img);

 return 0;
}

int fnReadPGM(char* fileNm, PGMImage* img)
{
 FILE* fp;
 if(fileNm == NULL){
  fprintf(stderr, "fnReadPGM 호출 에러\\n");
  return FALSE;
 }
 
 fp = fopen(fileNm, "rb"); // binary mode
 if(fp == NULL){
  fprintf(stderr, "파일을 열 수 없습니다 : %s\\n", fileNm);
  return FALSE;
 }

 fscanf(fp, "%c%c\\n", &img->M, &img->N); // 매직넘버 읽기

 if(img->M != \'P\' || img->N != \'5\'){
  fprintf(stderr, "PGM 이미지 포멧이 아닙니다 : %c%c\\n", img->M, img->N);
  return FALSE;
 }

 fscanf(fp, "%d %d\\n", &img->width, &img->height); // 가로, 세로 읽기
 fscanf(fp, "%d\\n"   , &img->max                ); // 최대명암도 값

 if(img->max != 255){
  fprintf(stderr, "올바른 이미지 포멧이 아닙니다.\\n");
  return FALSE;
 }


 // <-- 메모리 할당
 img->pixels = (unsigned char**)calloc(img->height, sizeof(unsigned char*));

 for(int i=0; i<img->height; i++){
  img->pixels[i] = (unsigned char*)calloc(img->width, sizeof(unsigned char));
 }
 // -->


 // <-- pgm 파일로부터 픽셀값을 읽어서 할당한 메모리에 load
 for(int i=0; i<img->height; i++){
  for(int j=0; j<img->width; j++){
   fread(&img->pixels[i][j], sizeof(unsigned char), 1, fp);
  }
 }
 // -->


 fclose(fp); // 더 이상 사용하지 않는 파일을 닫아 줌

 return TRUE;
}

void fnClosePGM(PGMImage* img)
{
 for(int i=0; i<img->height; i++){
  free(img->pixels[i]);
 }

 free(img->pixels);
}

int fnWritePGM(char* fileNm, PGMImage* img)
{
 FILE* fp;

 fp = fopen(fileNm, "w");
 if(fp == NULL){
  fprintf(stderr, "파일 생성에 실패하였습니다.\\n");
  return FALSE;
 }

 fprintf(fp, "%c%c\\n", \'P\', \'2\');
 fprintf(fp, "%d %d\\n" , img->width, img->height);
 fprintf(fp, "%d\\n", 255);

 int tmp;        // int type임에 유의

 for(int i=0; i<img->height; i++){
  for(int j=0; j<img->width; j++){
   tmp = img->pixels[i][j] + 40; // 픽셀값을 밝게 변화를 줌

   if(tmp > 255){     // overflow 방지
    tmp = 255;
   }

   fprintf(fp, "%d ", tmp);
  }
 }

 fclose(fp);
 
 return TRUE;
}








저 글씨 큰 부분에서 에러가 나는데 나는 도대체가 왜 에러가 나는지 이해가 안되
좀 알려줘요!

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연인과 헤어지고 뒤끝 작렬할 것 같은 스타는? 운영자 24/04/22 - -
267616 웹만 갈라파고스냐..? ㅋㅋ [1] .3(1.11) 11.08.28 59 0
267615 웹봇 같은거 관심있는 넘~ 재밌는거 발견함 [3] 시불라미갤로그로 이동합니다. 11.08.28 198 0
267614 한국과 세계의 차이점. [1] 때릴꺼야?(119.67) 11.08.28 114 0
267611 lpDebugEvent에서 lp는 무슨 뜻 인가요? [2] ㅁㄴ(210.107) 11.08.28 53 0
267610 횽들 저 개늅늅인제 도와줘요 c#배우는 뉴비갤로그로 이동합니다. 11.08.28 38 0
267609 이쯤에서 모가 좋을가 [6] 좋은아버지갤로그로 이동합니다. 11.08.28 61 0
267608 썅 꼬꼬면 사러 갔다가 빈손으로 돌아왔다. [4] 외계달팽갤로그로 이동합니다. 11.08.28 72 0
267607 형들 카오스나 땡길까 [3] y녀6디리(218.146) 11.08.28 48 0
267606 신형 엑박360이 달라지긴 많이 달라진 듯 분당살람갤로그로 이동합니다. 11.08.28 46 0
267605 tv 보니까 카오스 방송하는데 좋은아버지갤로그로 이동합니다. 11.08.28 47 0
267604 우리나라에서 애플마케팅하면 성공할듯 [1] ㅇㅇ(61.77) 11.08.28 76 0
267599 지금 아이폰 살수 있어 ? [2] 좋은아버지갤로그로 이동합니다. 11.08.28 36 0
267598 아스횽은 쓰리썸 인증이나 까라!!! 거칠게갤로그로 이동합니다. 11.08.28 81 0
267596 vmware로 xp 커널 디버깅 질문좀 ㅠ [2] 탱자탱자(203.249) 11.08.28 48 0
267595 Mac보다 충성심 더 높은 거 [3] 분당살람갤로그로 이동합니다. 11.08.28 79 0
267594 음식먹은거 후기 적어놔도 글삭이냐? [7] blackd갤로그로 이동합니다. 11.08.28 73 0
267593 지롤 같이 덥다 거칠게갤로그로 이동합니다. 11.08.28 33 0
267591 애플 얘기 나와서 말인데 [3] 좋은아버지갤로그로 이동합니다. 11.08.28 49 0
267589 잡스 복기 전에는 망하는줄 알았고 망할뻔했어 .3(1.11) 11.08.28 46 0
267585 아오 빡쳐 관악산 이고 뭐고 다 때려쳐!!! [2] 거칠게갤로그로 이동합니다. 11.08.28 70 0
267579 남자는 시크해야해 [1] 우ㅈ갤로그로 이동합니다. 11.08.28 74 0
267578 안드로이드어플개발중인데 [3] 운■지갤로그로 이동합니다. 11.08.28 95 0
267577 아오 빡쳐 코리안 타임 훡휴다 ㅡㅡ [1] 거칠게갤로그로 이동합니다. 11.08.28 103 0
267574 형들 점심은 먹었어? [3] 좋은아버지갤로그로 이동합니다. 11.08.28 42 0
267571 안철수 교수가 얼마전 방송 인터뷰에서 [1] 분당살람갤로그로 이동합니다. 11.08.28 102 0
267570 이번에 휴학하는 사람 없나? [7] 치킨마루(220.117) 11.08.28 68 0
267569 ISEC2011 참가하신 분들 수고하셨습니다. [2] !factorial(121.173) 11.08.28 84 0
267567 헤드퍼스트 자바랑 세컨에디션2랑 차이 많이 나?? 거칠게갤로그로 이동합니다. 11.08.28 57 0
267565 아 시밤 방금 아래 남자들의 천국 봣는데 [7] 거칠게갤로그로 이동합니다. 11.08.28 113 0
267562 와나... 겜 만들겠다고 온 신입들이.... [2] 겜프머(222.110) 11.08.28 141 0
267561 남자들한테 천국인 나라.jpg [2] ㅇㅇ(222.107) 11.08.28 258 2
267560 솔까말 25살 이하면 인간이 아닌거 같다. [4] 초식남(219.251) 11.08.28 121 0
267559 나도 유학 한번 준비해볼까? 갈 수 있을거 같은데 [2] 좋은아버지갤로그로 이동합니다. 11.08.28 57 0
267558 나도 자살춤횽 러브스토리 보고 싶은데 [2] y녀6디리(218.146) 11.08.28 35 0
267555 내가 프갤에 오는 세가지이유 [3] dijkstra(211.197) 11.08.28 93 0
267554 우리 학교 에서 HCI 가르쳤었어. [2] 좋은아버지갤로그로 이동합니다. 11.08.28 74 0
267553 찌질하게 언어가지고 그러냐 ㅋㅋㅋ [1] monoless갤로그로 이동합니다. 11.08.28 69 0
267551 한때 이곳을 php코더들이 점령했던 때가 있엇다. [3] 초식남(219.251) 11.08.28 114 0
267550 우리 대학원에서 연구하는 것 중 하나가 [5] 분당살람갤로그로 이동합니다. 11.08.28 124 0
267549 와 지난주 정보처리 필기 떨어진줄 알았는데 [2] 메탈쨩갤로그로 이동합니다. 11.08.28 68 0
267547 쓰레기 예술. [2] Deskjet(220.75) 11.08.28 94 0
267545 이 ㅄ드라. 자료구조와 디자인 패턴은 이미 배운상태다. ㅄ드라. [5] 초식남(219.251) 11.08.28 117 0
267542 웹프라고 다 똑같은 웹프가 아님. [3] dijkstra(211.197) 11.08.28 98 0
267541 세상을 바꾸는건 웹이야 ㅄ드라. [4] 초식남(219.251) 11.08.28 114 0
267540 요즘에 피해망상자가 뻘글을 싸고 있구나. [4] Deskjet(220.75) 11.08.28 102 0
267539 난 웹프고 웹에 있어서 c는 걍 ㅄ ㅋㅋㅋ [5] 초식남(219.251) 11.08.28 115 0
267537 ㅄ들이 C까면 조올라 흥분 햌ㅋㅋㅋ [1] 초식남(219.251) 11.08.28 66 0
267536 마소 망해가는데 C# 배워서 모하냐 [1] 초식남(219.251) 11.08.28 101 0
267535 여기가 퍼킹 치킨맨 유망주들이 바글댄다는 그곳? 초식남(219.251) 11.08.28 39 0
267534 학부생들이 학원생을 까듯이 치킨맨들도 딴거하다 온사람들 싫어할듯 [2] ㅇㅇ(61.77) 11.08.28 71 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2