게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 질문좀요!! bsearch 사용법좀요 ㅜㅜ
게시물ID : jisik_134196짧은주소 복사하기
작성자 : 키큰사람
추천 : 0
조회수 : 649회
댓글수 : 2개
등록시간 : 2012/10/04 23:41:27

기댈곳은 오유뿐이군요 ㅜㅜ;

 

대략 정렬되 있는 텍스트 파일을 읽어서

키값을 입력받아서 텍스트 파일을 찾는거예요..

여기에 bsearch를 썻는데 도무지 안되서...

 

그리고 텍스트 파일에 단어는 구조체 배열에 저장해놨습니다.. 좀 도와주세요ㅠㅠ 왜 안될까요ㅜㅜ 제발!!!

 

#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include "iostream"

#define SIZE 3011
using namespace std;

struct all
{
 char word[22];
};
int compare(const void*, const void*);

int main()
{
 int count=0;
 char **Result;
 char find[22]; //키값으로 쓸것

 all a; //파일 크기를 알기 위해 구조체 선언
 fstream infile;
 infile.open("data.txt");
 while(infile)
 {
  infile >> a.word ;
  count ++;
 } //파일을 열고 크기를 count에 저장
 count--;
 infile.clear();
 infile.seekg(ios::beg);

 all alls[SIZE];

 //데이터 읽기 시작
 for(int i=0; i< count; i++)
 {
  infile >> alls[i].word;
 }


 //다읽엇음
 infile.close();
 cout<<"사전에 저장된 단어 리스트 입니다 "<<endl;
 for(int i=0; i<count; i++)
 {
  cout<<i+1<<" "<<alls[i].word<<"\t";
  if(i%2) cout<<endl;
 }
 cout<<endl;
 cou

 

t<<"검색할 단어를 선택하세요 : " ;
scanf("%s",&find);

Result=(char**)bsearch(&find, alls, SIZE, sizeof(alls[0]), compare);
if(Result == NULL)
 cout<<"입력한 값을 찾을 수가 없습니다. ";
else
 cout<<"검색된 값 : "<<*Result;
return 0;
//delete [] alls;
}
int compare(const void* pkey, const void* pvalue)
{
 return strcmp((char*)pkey, *((char**) pvalue));
}

 

부탁좀 드릴게요 ㅠㅠ

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호