/*
Low Level I/O - Read and Write
Chapter 8 - The C Programming Language - K&R
Header file in the original code is "syscalls.h"
Also BUFSIZ is supposed to be defined in the same header file
*/
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
#define BUFSIZ 1
int main() /* copy input to output */
{
char buf[BUFSIZ];
int n;
while ((n = read(0, buf, BUFSIZ)) > 0)
write(1, buf, n);
return 0;
}
"ΣΣΣ † ¥₩₩ ˚πΔ~~ ∫ ∫ πν ~ 886661 ~ EOF"를 입력으로 입력하면 동일한 내용이 복사됩니다. 얼마나 많은 비 ASCII 문자가 동시에 저장됩니까?유닉스 읽기 및 쓰기 기능
BUFSIZ는 전송할 바이트 수입니다. BUFSIZ는 어떤 값이라도 입력에서 출력으로 복사 할 수 있다면 바이트 전송을 어떻게 제한합니까?
char buf [BUFSIZ]가 비 ASCII 문자를 저장하는 방법은 무엇입니까?
비 ASCII 문자는 일반적으로 현재 UTF-8로 인코딩되므로 단일 문자는 상위 비트가 설정된 * 여러 바이트로 인코딩 될 수 있습니다. –
일반적으로 BUFSIZ는 ''으로 정의되며 일반적으로 512 이상에서 2의 제곱입니다. 이 문맥에서는 1로 정의하는 것은 합법적 인 (그러나 예외적 인) 합법적 인 것입니다. 표시하는 코드는 ''또는 ''이 필요하지 않습니다. ''이면 충분합니다. –