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을 제거 하는 방법밖엔 없을까요???
여까지 읽어주셔서 감사합니다 (_ _)