[英]C: How to read a jpg from a file and save it?
我在读取jpg文件并将其保存时遇到了一些麻烦。 我想在客户端和服务器之间实现文件共享系统,我什至无法读取jpg并将其保存在同一进程中。 这是我到目前为止的
int main(int argc, const char * argv[])
{
char *buffer;
FILE *picture;
FILE *newPicture;
struct stat st;
long fileSize = 0;
picture = fopen("PATH/root/game-of-thrones-poster.jpg", "rb");
fstat(picture, &st);
fileSize = st.st_size;
if(fileSize > 0) {
buffer = malloc(fileSize);
if(read(picture, buffer, fileSize) < 0) {
printf("Error reading file");
}
fclose(picture);
newPicture = fopen("PATH/root/new.jpg", "wb");
write(newPicture, buffer, fileSize);
}
free(buffer);
}
当它尝试读取文件时,它告诉我fileSize为0。
fstat()与stat()相同,除了要状态的文件由文件描述符fd指定。
您正在传递FILE *
, fstat
需要一个int
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.