#0324 #네트워크 프로그래밍
이 자료는 강의 학습 자료입니다.
¸.•*¨*•¸.•*¨*•¸.•*¨*•¸.•*¨*•
문자열 입력 함수의 fgets()와 scanf()의 차이점: 저장된 길이가 다릅니다.
fgets()
– 공백 입력 허용, 마지막 유형 Enter: 개행 문자(‘\n’) + 널 문자(‘\0’)추가
그러므로 문자열 -1은 정확한 값이어야 합니다.가져올 수 있습니다
스캔프()
– 입력은 공백으로 구분됩니다.
마지막으로 문자열에 개행 문자를 포함하지 않고 Enter:를 입력합니다. NULL 문자(‘\0’)만 가능합니다. 문자열에 추가
파일 끝 표시(EOF)
파일 끝 마커: Linux 시스템은 파일에 저장된 데이터의 파일 끝을 확인하지 않습니다.
파일 시스템에서 이 파일의 길이를 저장
– 파일 내부, 파일의 끝(EOF)을 나타내기 위해 특수 문자없다
– 왜 EOF를 사용하는가? – 함수에서 자주 사용되며 EOF는 없고 (-1)만 있습니다.
파일의 끝 감지
– 함수 읽기(): 0 반환(NULL)
– fgetc(), getc(), getchar() : -1(EOF)를 반환합니다.
썸네일에는 별도의 정보가 포함되어 있습니다. 작은 이미지와 함께 그리드 형태로 저장되며 이러한 특수 파일 중 일부는 표준 문서와 연결되어 있는 동안 파일의 끝을 감지하여 원본 파일의 길이를 감지하고 가져옵니다.
파일에 데이터 쓰기: 배열의 크기를 지정하지 않은 경우
char buf() = “안녕하세요!\n”;
이렇게 크기를 저장하지 않으면? : null 값(‘\0’)이 자동으로 추가됨

문자열만큼 긴 배열을 사용한다면? : 크기만큼 저장됩니다.

여기서 OxOa는 LF(NL 라인 피드, 새 줄)입니다.

문자열보다 큰 배열을 사용할 때? : 나머지 부분이 NULL로 채워져 있거나 초기화되지 않은 경우 가비지 값을 입력할 수 있습니다.

sizeof(buf)가 아니라 strlen(buf)로 파일에 저장할 때 : 문자열 크기로 저장할 때

정리하다
저장 방법에 따라 NULL 값을 추가할 수 있습니다. EOF라는 특수 문자가 없습니다.
NULL은 없으며 파일의 길이만 저장하고 길이별로 데이터를 읽습니다.
반환값만 사용하는 함수에 따라 다릅니다.
