J'écris un code de sorte qu'à chaque itération d'une boucle, il exécute une fonction qui écrit des données dans un fichier, comme celui-ci:Comment effacer le contenu d'un fichier en utilisant c?
int main()
{
int i;
/* Write data to file 100 times */
for(i = 0; i < 100; i++) writedata();
return 0;
}
void writedata()
{
/* Create file for displaying output */
FILE *data;
data = fopen("output.dat", "a");
/* do other stuff */
...
}
Comment puis-je obtenir pour que quand je lance le programme il va supprimer le contenu du fichier au début du programme, mais après cela, il ajoutera des données dans le fichier? Je sais que l'utilisation de l'identifiant "w" dans fopen() va ouvrir un nouveau fichier vide, mais je veux pouvoir "ajouter" des données au fichier chaque fois qu'il passe par la fonction 'writedata()', d'où le utilisation de l'identifiant "a".
+1 pour montrer comment appeler fopen avant la boucle – Jack
Notez également qu'il y a un appel système open() qui effectue également le travail. Je pense que fopen est plus approprié ici. – Jack