, 우리는 나는 다음과 같은 얻을 fcntl.h를 사용하고 unistd.h C++ 문자열을 사용하여 . 입력 문자열의 내용과 함께 파일이 생성됩니다. 하지만, 왜이 라인의 작동하지 않습니다 : 여기에 C++ 문자열 읽기의 기능에서 fcntl.h
statusOfFunction = read(fileDescriptor, reading.c_str(), 10);
Error: No matching function call to "read"
statusOfFunction = read(fileDescriptor, reading, 10);
Error: No matching function call to "read"
statusOfFunction = read(fileDescriptor, &reading, 10);
No error throws up, but does not get executed
statusOfFunction = read(fileDescriptor, &reading.c_str(), 10);
Error: No matching function call to "read"
https://www.dropbox.com/s/lnw208uo3xurqxf/Basic%20Unix%20Operations%20on%20Text%20Files.cpp?dl=0
는 참조 용 프로그램입니다. 감사합니다. :)
'읽기'는 무엇입니까? 'man 2 read'에 따르면'ssize_t read (int fd, void * buf, size_t count);에 따라 프로토 타입을'read'에 매치 할 필요가 있습니다. 그래서 충분히 큰 버퍼에 대한 void 포인터가되도록 읽기가 필요합니다 10 바이트 (또는'count'가 무엇이든)를 저장합니다. – PSkocik
기본 리눅스 프로그래밍 과정에서'const '가 의미하는 것을 아직 다루지 않았습니까? – WhozCraig