J'ai un fichier rempli de données ASCII. Comment puis-je ajouter une chaîne à la première ligne du fichier? Je ne trouve pas ce genre de fonctionnalité à l'aide de Fopen (il semble seulement ajouter à la fin et rien d'autre.) P>
3 Réponses :
Je suggérerais Commandes système à partir de Matlab . Une possibilité sur Windows consiste à écrire votre nouvelle ligne de texte dans son propre fichier, puis à utiliser le DOS pour forte> commande à J'ai utilisé le Une autre alternative à la commande ci-dessus serait: p> ! code> (bang) opérateur
pour appeler la commande à partir de MATLAB. La commande ci-dessus passe de manière séquentielle le contenu de "fichier1.txt" et "fichier2.txt" au fichier "new.txt". N'oubliez pas que vous devrez probablement mettre fin au premier fichier avec un nouveau personnage de ligne pour obtenir les choses à ajouter correctement. P> dlmwrite('file.txt',['first line' 13 10 fileread('file.txt')],'delimiter','');
Y a-t-il un moyen d'utiliser Matlab Variables pour les noms de fichiers de la commande DOS?
@ TEMP2290: J'ai ajouté une discussion à ma réponse.
Ce qui suit est une solution PURE MATLAB:
% write first line dlmwrite('output.txt', 'string 1st line', 'delimiter', '') % append rest of file dlmwrite('output.txt', fileread('input.txt'), '-append', 'delimiter', '') % overwrite on original file movefile('output.txt', 'input.txt')
+1: Cela convient à ce que je pensais pour l'option n ° 2, mais j'ai eu une prise légèrement différente sur la façon de le faire. Je posterai pour la comparaison.
Que diriez-vous d'utiliser la fonction J'ai eu une exigence similaire et j'ai essayé Mais, Avertissement: il écrasera sur la 1ère ligne. Depuis dans mon cas, j'étais celui qui écrit le fichier, j'ai mis des données factices au démarrage du fichier, puis à la fin, que cela soit écrasé après les opérations spécifiées ci-dessus. P>
BTW, même si je suis confronté à un problème avec cette solution, que, selon la longueur (/ taille) des données factices et des données réelles, le programme laisse une partie des données factices sur la même ligne ou apportez mon Nouvelles données à la 2e ligne ..
Toute pointe à cette égarde est très appréciée. P> frewind (FID) code> pour prendre le pointeur au début du fichier? p>
frewind () code> suivi de la déclaration
fprintf () nécessaire () code>. p>
Sur quel système d'exploitation utilisez-vous MATLAB?
Windows 32X, malheureusement. Si c'était Linux, ce serait un non-question complet.