[代碼片段] 打開文件讀寫

打開文件讀
int fd = open(pcm_file, O_RDONLY, 0)
讀文件
static ssize_t safe_read(int fd, void *buf, size_t count) {
	ssize_t result = 0, res;
	while (count > 0) {
		if ((res = read(fd, buf, count)) == 0)
			break;
		if (res < 0)
			return result > 0 ? result : res;
		count -= res;
		result += res;
		buf = (char *)buf + res;
	}
	return result;
}
打開文件寫
int fd = open(pcm_file, O_WRONLY | O_CREAT, 0644)
寫文件
static ssize_t xwrite(int fd, const void *buf, size_t count)
{
	ssize_t written;
	size_t offset = 0;
	while (offset < count) {
		written = write(fd, buf + offset, count - offset);
		if (written <= 0)
			return written;
		offset += written;
	};
	return offset;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章