Originariamente inviato da andbin
Fammi capire, hai un file "raw" (cioè si intende un file non in un formato specifico/standard, senza intestazioni o altro) composto da 320 x 240 pixel in formato RGB.

Il file è quindi una sequenza di byte: RGBRGBRGBRGB.......
Tu vuoi creare 3 file separati con le singole componenti, quindi RRRRR... poi un altro file GGGG..... ecc....
Giusto?

Se così, non capisco la necessità di tutte quelle fopen/fread.

- Alloca una area di memoria di 320*240*3 byte
- Carica tutto il file in memoria in questa area
- Alloca una area di memoria di 320*240 byte
- Per ognuna delle tre componenti sposti tutti i relativi byte dalla prima area alla seconda e la scrivi sul file.

Non è l'unica soluzione. Si tratta solo di stabilire "quanto" tenere in memoria. Si potrebbe gestire la cosa "a righe" o a blocchi di N pixel.
Si esatto, hai capito bene ciò che devo fare
Praticamente ci è stato dato un codice e ci è stato chiesto di modificarlo affinchè facesse ciò che ho descritto nel primo posto! Dopo aver compilato, una volta che eseguo la finestra dos rimane inattiva, come se il programma stesse continuando a girare senza terminare.

Nel main per il momento ho chiamato solo readrawR, le altre le ho messe nel codice per far capire quale fosse l'idea che c'era alla base del ragionamento.