#include "stdafx.h"
#include "string.h"
#include "stdio.h"
void CharReadWrite(FILE *fin);
FILE *fptr2;
int _tmain(int argc, _TCHAR* argv[])
{
char filename[]="ReadMe.txt";
if (fopen_s(&fptr2, filename, "r") != 0)
printf("File stream %s was not opened\n", filename);
else
printf("The file %s was opened\n", filename);
CharReadWrite(fptr2);
fclose(fptr2);
return 0;
}
void CharReadWrite(FILE *fin){
int c;
while ((c=fgetc(fin)) !=EOF) {
putchar(c);}
}
0
A
Répondre
3
vous ouvrez ReadMe.txt pour l'écriture:
fopen_s(&fptr2, filename, "w")
mais passant à CharReadWrite
:
CharReadWrite(fptr2);
qui tente de lire ce:
c=fgetc(fin)
Vouliez-vous l'ouvrir pour la lecture, en passant "r"
à fopen_s
?
Vous continuez également et appelez CharReadWrite
si l'ouverture ReadMe.txt échoue.
1
Un problème est que vous essayez de lire (et ensuite de fermer) fptr2
même si vous ne parvenez pas à l'ouvrir.
Essayez:
#include "stdafx.h"
#include "string.h"
#include "stdio.h"
void CharReadWrite(FILE *fin);
FILE *fptr2;
int _tmain(int argc, _TCHAR* argv[])
{
char filename[]="ReadMe.txt";
if (fopen_s(&fptr2, filename, "w") != 0)
{
printf("File stream %s was not opened\n", filename);
}
else
{
printf("The file %s was opened\n", filename);
CharReadWrite(fptr2);
fclose(fptr2);
}
return 0;
}
0
Le problème est cette ligne:
si (fopen_s (& fptr2, nom de fichier, "w")! = 0)
Lorsque vous passez le « w 'flag, "Create an empty file for writing. If a file with the same name already exists its content is erased and the file is treated as a new empty file."
A la place, utilisez le drapeau "r +".
0
Vous ouvrez un fichier pour l'écrire et essayer de le lire (fgetc) ...
Questions connexes
- 1. Vérification d'un fichier mal défini
- 2. Position du pointeur de fichier
- 3. quoi de mal avec ce fichier Jar?
- 4. CKEDITOR non défini par mon script Greasemonkey?
- 5. Qu'est-ce que je fais de mal dans mon code?
- 6. Delphi: "L'objet de paramètre est mal défini, des informations incohérentes ou incomplètes ont été fournies."
- 7. pointeur pointeur C++ Méthodes
- 8. Problème de méthode défini dans le fichier d'en-tête VC++
- 9. Comment mapper une adresse de pointeur d'instruction segfault de/var/log/messages à une adresse/fonction dans mon fichier .map?
- 10. chaîne Copier pointeur vers pointeur
- 11. htaccess mal à
- 12. "ytplayer n'est pas défini"
- 13. Comment suis-je en train de mal gérer la mémoire de mon iPhone?
- 14. Données de base mal manipule NSCFBoolean?
- 15. ip_len défini sur de très grandes valeurs
- 16. Qu'est-ce que je fais de mal avec mon contrôle "HorizontalRule" personnalisé?
- 17. Qu'est-ce que je fais de mal avec mon formulaire FormsAuthenticationTicket?
- 18. NSString (pointeur/non pointeur) Affecter ou conserver
- 19. Pourquoi cette initialisation Pointeur-Pointeur Seg Seg?
- 20. Pointeur vers un pointeur dans l'objectif-c?
- 21. Pointeur d'assemblage MIPS à un pointeur?
- 22. Protocole objectif-c défini dans son propre fichier .h?
- 23. question simple pointeur imbriqué
- 24. python regex mal à
- 25. Pourquoi l'attribut en lecture seule est-il défini (parfois) pour les fichiers créés par mon service?
- 26. sqlite m'a donné mal à la tête dans mon application windows C# 2.0
- 27. exception de pointeur nul JLabel
- 28. où est défini Enum.values ()?
- 29. Erreur dans mon fichier XML?
- 30. Daisy CMS ayant du mal à construire
Quelle est votre question? Quelle erreur obtenez-vous? – CookieOfFortune
(c = fgetc (fin)! = EOF) a une parenthèse égarée. Devrait être (c = fgetc (fin))! = EOF. – Stephan202