분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
옵션 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #include <fcntl.h> #include <ctype.h> typedef struct Word { char word[BUFSIZ]; int count; struct Word *pre; struct Word *next; } Word; Word *create_word(char *s) { Word *new_word; new_word = (Word *)malloc(sizeof(Word)); if(new_word==NULL) printf("error malloc\n"); strcpy(new_word->word, s); new_word->count = 0; new_word->pre = NULL; new_word->next = NULL; return new_word; } void insert_word(Word **head, char *w) { Word *new_word = create_word(w); Word *s = *head; if(*head == NULL) { new_word->count++; new_word->pre = *head; *head = new_word; } else if(strcmp(s->word, new_word->word)==1) { new_word->count++; new_word->pre = *head; new_word->next = s; s->pre = new_word; *head = new_word; } else { while(s->next != NULL) { if(strcmp(s->word, new_word->word)==-1) { s = s->next; } else break; } if(strcmp(s->word, new_word->word)==-1) { new_word->count++; new_word->pre = s; s->next = new_word; } else if(strcmp(s->word, new_word->word)==1) { s->pre->next = new_word; new_word->pre = s->pre; new_word->count++; new_word->next = s; s->pre = new_word; } else if(strcmp(s->word, new_word->word)==0) { s->count++; free(new_word); } } } main() { int fdr, fdw; Word *word; int c; char ch, buf, *buf_out, buffer[BUFSIZ]; off_t cur, end; if((fdr=open("the_gold_bug.txt", O_RDONLY))==-1) { perror("open : the_gold_bug.txt"); exit(1); } if((fdw=open("text.res2", O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH))==-1) { perror("open : text.res2"); exit(1); } while(read(fdr, &buf, 1)>0) { c = toascii(buf); if((c>='a' && c<='z') || (c>='A' && c<='Z')) { if(c>='A' && c<='Z') c+=32; sprintf(&ch, "%c", c); if(*buffer==0) strcpy(buffer, &ch); else strcat(buffer, &ch); } else { if(*buffer != 0) { insert_word(&word, buffer); } memset(buffer, '\0', sizeof(buffer)); } } while(word) { sprintf(buf_out, "%s\t%d\n", word->word, word->count); write(fdw, buf_out, strlen(buf_out)*sizeof(char)); word = word->next; } close(fdr); close(fdw); } | cs |
죄송합니다. 댓글 작성은 회원만 가능합니다.
번호 | 제 목 | 이름 | 날짜 | 조회 | 추천 | |||||
---|---|---|---|---|---|---|---|---|---|---|
26 | 질문. 동전 찾기 알고리즘 [3] | ozum2 | 16/04/02 21:15 | 41 | 0 | |||||
25 | 초등학교 수학문제라는데 풀리지가 않아요 [3] | ozum2 | 16/03/13 01:17 | 91 | 1 | |||||
24 | 전월세 계약 관련 질문 드립니다 [3] | ozum2 | 16/02/03 14:23 | 21 | 0 | |||||
23 | 포항 여행가는데 펜션 좀 슈퍼빠월추천부탁드리겠습니다 | ozum2 | 15/12/26 20:51 | 12 | 0 | |||||
22 | 그래픽카드 인식 문제 [1] | ozum2 | 15/12/11 16:47 | 48 | 0 | |||||
21 | [C/질문] char 포인터 배열 초기화 [2] | ozum2 | 15/11/10 02:25 | 26 | 0 | |||||
20 | [C/질문] UNIX 명령어 만들기 | ozum2 | 15/10/30 19:56 | 27 | 0 | |||||
19 | 빙고짤 어디없나요 | ozum2 | 15/10/17 19:53 | 102 | 0 | |||||
▶ | [질문/C] 저수준 파일 입출력 [2] | ozum2 | 15/10/16 19:51 | 34 | 0 | |||||
17 | [질문] lex 의 패턴에 관해 [2] | ozum2 | 15/10/16 14:39 | 28 | 0 | |||||
16 | [질문/C] 정렬 연결 리스트 [1] | ozum2 | 15/10/12 23:26 | 24 | 0 | |||||
15 | [질문/C] sorted simply linked list [9] | ozum2 | 15/10/10 01:14 | 32 | 0 | |||||
14 | C로 문자열이 숫자인지 문자인지 구분하는 프로그램을 만들고 있습니다. [13] | ozum2 | 15/09/17 19:26 | 47 | 0 | |||||
13 | (질문글) 수경재배를 하려고 합니다 [4] | ozum2 | 15/06/01 15:15 | 31 | 0 | |||||
12 | 돈가스라고 샀더니 피카츄 [5] | ozum2 | 15/05/31 21:02 | 84 | 0 | |||||
11 | 이게 어떤거라고 생각하시나요? [2] | ozum2 | 15/04/20 11:28 | 159 | 0 | |||||
10 | 신발에 관해 도움 좀 얻고싶습니다 [2] | ozum2 | 15/04/19 14:28 | 40 | 0 | |||||
6 | 블랙베리 수리 질문합니다 | ozum2 | 15/02/18 15:05 | 29 | 0 | |||||
5 | 처음이에요 [1] | ozum2 | 14/09/29 20:46 | 29 | 1 | |||||
3 | 흔한 멋쟁이 아빠 | ozum2 | 13/05/12 12:07 | 24 | 1 | |||||
1 | 애완동물 추천 좀 부탁드려요 [4] | ozum2 | 13/01/04 20:52 | 61 | 0 | |||||
|
||||||||||
[1] | ||||||||||