게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C에서 특정 문자열을 제거한 채 파일내용을 읽어들이는 방법은 없나요
게시물ID : programmer_4694짧은주소 복사하기
작성자 : June
추천 : 0
조회수 : 380회
댓글수 : 3개
등록시간 : 2014/07/25 22:07:41
옵션
  • 본인삭제금지
aaabbbbcccc
bbbccccdddd
cccddddeeee

위의 문자열들을 메모장에 저장하고 이걸 읽어와서 문자열 배열에 저장을 하였는데요,

디버깅을 하다가 알게 된건데 각 문자열마다 끝에 \\r\\n 이 붙어 있더라구요. 현재까지 알아낸건 \\r은 커서를 맨 앞으로 옮기는 것이고 \\n은 다음줄로 넘기라는 것인건 알겠는데, 이걸 클라이언트에서 받은 문자열하고 비교를 하려다보니 뒤에 \\r이 붙고 안붙고의 차이가 있어서 앞의 문자열 자체는 같은데 비교 결과 다른 문자열로 인식이 되더라구요.

예) aaabbbbcccc\\r\\n 을 aaabbbbcccc\\n과 비교

네, 당연히 다른 문자열이니 false가 리턴이 되는건 알겠는데 질문드리고 싶은건,처음에 문자열을 읽어들일때 \\r을 없애고 읽는 방법은 따로 없는건가요?

아래는 제 코드 입니다.

int main(){
   FILE *fl = NULL;
   char* phoneNums[5];
   int i = 0, j;
   
   fl = fopen("phoneNum.txt", "r");
   if(fl != NULL){
      char *strTemp;
      while( 1 ){
        strTemp = malloc(14);
        phoneNums[i] = fgets(strTemp, 14, fl);
        if( feof(fl) )
            break;
        i++;        
      }
      fclose(fl);
   }
   else{
      printf("File does not exist");
   }

이 아래는 소켓 프로그래밍 하는 부분이라 불필요해서 넣지 않았습니다. 따로 방법이 없다면 문자열 읽어들인 이후에 \\r을 제거 하는 방법밖엔 없을까요???


여까지 읽어주셔서 감사합니다 (_ _)

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