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; }
3 Réponses :
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).
J'ai changé l'émulateur DOS en blocs de code.
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.
Ainsi, votre fichier program.txt doit avoir le chemin [Votre chemin d'installation]: \ TurboC ++ \ Disk vu de l'extérieur de TurboC ++.
Ê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ôtNULL
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 .