0
AIO가 작동하지 않는 것처럼 보이는 간단한 파일을 작성하려고합니다. 무엇이 문제 일 수 있습니까? 불필요한 추가 헤더가 있다는 것을 알고 있습니다. 쓰기 대신에 완료 될 때까지간단한 텍스트를 쓸 때 aio_write()가 작동하지 않습니다.
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
#include<errno.h>
#include<stdlib.h>
#include<aio.h>
const int SIZE_TO_WRITE = 100;
char buffer[100];
struct aiocb cb;
int main()
{
int file = open("samp", O_CREAT|O_RDWR|O_TRUNC,0664);
strcpy(buffer,"Sample");
cb.aio_nbytes = SIZE_TO_WRITE;
cb.aio_fildes = file;
cb.aio_buf = buffer;
if(aio_write(&cb) == -1){
printf("ERROR");
}
while(aio_error(&cb) == EINPROGRESS)
close(file);
return 0;
}
예, 코드를 바꿨 기 때문에 기다리는 시간이 많습니다. 그러나 "gedit에서 문자 인코딩을 감지하지 못했습니다."라는 파일을 읽을 수 없습니다. 나는 debian을 사용하고있다. – CrimsonKing
@IsmailHatip : "샘플"테스트 후 해당 파일에 94 개의 쓰레기 (여기서는 0)를 쓰고 있습니다. 버퍼를 텍스트로 채우거나 일반 텍스트 파일로 읽으려면 적은 양을 씁니다. – Mat
의견을 보내 주셔서 감사합니다. – CrimsonKing