Bonjour,

je dois créer un programme qui découpe des fichiers *.tar en C. Je dois utiliser la fonction read() pour lire le fichier et dans un premier temps, je compte juste l'afficher sans le traiter pour le moment, mais impossible d'afficher le contenu du fichier, j'obtiens juste 1 ligne vide. Pouvez vous m'aider ?

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
 
#define BLOCK_SIZE 512
 
int main(int argc,char* argv[]){
	if(argc<2){
		printf("Erreur ! Il n'y a pas assez d'arguments !\n");
	}
	else{
 
		int fd=open(argv[2],O_RDONLY,0);
		int resRead=0;
		char* buffer=(char*)malloc(BLOCK_SIZE*sizeof(char));
		resRead=read(fd,(char*)buffer,BLOCK_SIZE);
		printf("%s\n",buffer);
		while(resRead>0){
			printf("%s\n",buffer);
			resRead=read(fd,(char*)buffer,sizeof(buffer));
		}
		close(fd);
		free(buffer);
	}
 
	return 0;
}
Merci, bonne journée !