Bonjour,
Je dois ecrire un fichier binaire contenant des chaines ascii (je dois l'ecrire en binaire et pas en ascii car c'est un format standard). Ca, c'est facile :
fid = fopen('monfichier.bin', 'wb');
machaine = 'Bonjour!';
fwrite(fid, machaine, 'char');
fclose(fid);
Mais, le probleme, c'est que ces chaines doivent etre justifiees a gauche et, si on n'atteint pas les 80 caracteres de contenu, il faut ajouter des espaces. Donc, j'ai essaye :
fid = fopen('monfichier.bin', 'wb');
machaine = 'Bonjour';
[nlignes, nchars] = size(machaine);
ncharsaajouter = 80 - nchars;
for i = 1:ncharsaajouter
machaine = strcat(machaine, ' ');
end
% *
fwrite(fid, machaine, 'char');
fclose(fid);
Et ca ne marche pas.
Meme quand je remplace la ligne avec * (et que j'enleve le %) par
[nlignes, nchars] = size(machaine);
nchars contient la valeur 7 (et pas 80). Pourquoi Matlab enleve les caracteres ' ' ? Et comment faire pour l'en empecher ? Ou existe-t-il une autre methode pour ecrire 80 caracteres ascii contenant des espaces a droite ?
D'avance, merci !
Jean-Etienne
-----