1
votes

Ne pas créer de fichier txt dans le lecteur c par des opérations de fichier en langage C

J'essaie de créer un fichier texte simple en utilisant l ' émulateur DOS TurboC ++ . Mais ce n'est pas la création du fichier. Je fais référence à une vidéo en ligne où le même fichier est créé. Quel peut être le problème?

Voici le code:

#include<stdio.h>
#include<stdlib.h>

int main()
{
  int num;
  FILE *fptr;

  fptr = fopen("c:\\program.txt","w");

  if(fptr == NULL)
  {
    printf("error");
    exit(1);
  }
  printf("enter num = ");
  scanf("%d", &num);

  fprintf(fptr,"%d",num);
  fclose(fptr);

  return 0;

}


4 commentaires

Êtes-vous autorisé à écrire sur le lecteur C:? Exécutez votre application avec des privilèges élevés.


suggestion et problème éventuel: supprimez null de votre code; utilisez plutôt NULL prédéfini.


"il ne crée pas le fichier", mais affiche-t-il "l'erreur" pour l'échec de l'ouverture? Exécutez-vous le programme dans un environnement où vous voyez la sortie de manière fiable? C'est à dire. le programme peut ouvrir temporairement une fenêtre, imprimer «erreur» puis la refermer. Exécutez votre programme à partir d'une ligne de commande qui reste ensuite ouverte. Vous l'exécutez comme "myprogram.exe", n'est-ce pas? (Je demande parce que parfois les gens confondent «exécution» et «compilation / construction».)


Juste pour vous amuser et bonne chance, veuillez participer à la visite .


3 Réponses :


1
votes

Accédez à l'invite dans l'émulateur DOS et faites quelque chose comme DIR> C: \ program.txt , vérifiez si vous obtenez une erreur et sinon, vérifiez avec DIR C: \ si ce fichier est réellement créé.

Si cela ne fonctionne pas, ce n'est pas un problème avec votre application C, mais avec la possibilité d'y écrire (comme les droits d'accès aux fichiers ou un lecteur en lecture seule).


0 commentaires

0
votes

J'ai changé l'émulateur DOS en blocs de code.


0 commentaires

1
votes

Bien que cette réponse ne soit plus nécessaire, je la fournis ici pour référence future de ceux qui pourraient en avoir besoin.

J'ai eu le même problème il y a quelque temps.

Il s'avère que l'émulateur DOS émule le stockage PC pour les programmes.
Le dossier C: \ TurboC ++ \ Disk est traité comme C: \ par TurboC ++, et c'est le dossier racine de tout ce à quoi TurboC ++ doit se référer.

 TurboC ++ Root

Ainsi, votre fichier program.txt doit avoir le chemin [Votre chemin d'installation]: \ TurboC ++ \ Disk vu de l'extérieur de TurboC ++.


0 commentaires