#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
回答
3
你打开readme.txt文件获得写作:
fopen_s(&fptr2, filename, "w")
但随后将它传递给CharReadWrite
:
CharReadWrite(fptr2);
它试图从中读取数据:
c=fgetc(fin)
你的意思是打开它来阅读,通过"r"
到fopen_s
?
如果打开ReadMe.txt失败,您也继续并调用CharReadWrite
。
1
一个问题是,即使您未能打开它,您也正在尝试从(然后关闭)fptr2
中读取数据。
尝试:
#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
的问题是这一行:
如果(fopen_s(& fptr2,文件名, “W”)!= 0)
而是使用“r +”标志。
0
您正在打开写入文件并尝试从中读取文件(fgetc)...
相关问题
- 1. 我是否设置了subversion Repository错误?
- 2. 我是否设置了我的Node.js?
- 3. 我写的文件是否写错了?
- 4. TortoiseSVN报告了一个错误:无法在文件中设置位置指针
- 5. 我应该如何为我的文本设置属性指针?
- 6. C指针,我做错了什么?
- 7. 我是否在Chutzpah.json文件中犯了一些错误?
- 8. 我是否错误地使用了Jquery.ready()?
- 9. 我是否错误地使用了fscanf?
- 10. 指针是否始终设置为零?
- 11. 我的程序指针错误[C89]
- 12. 我做了什么?指向指向double的指针的指针?
- 13. 指南针指针位置错误
- 14. 分配给指针的指针:我是否应该释放它?
- 15. 是我的指南针地图错了吗?
- 16. 在Firebase中,我是否设置了我的404页面
- 17. 我是否错过了ARC?
- 18. 在文件指针中寻址出界错误文件指针
- 19. 如何检查文件是否打开,如果我忘了指定空文件指针
- 20. 我是否在updateDate函数中正确使用了指针?
- 21. 如果我设置了$ VIM,是否必须设置$ VIMRUNTIME?
- 22. 写入类指针给了我一个访问冲突错误
- 23. 当我将它设置为NULL时,指针的内存是否已释放?
- 24. 如何检查我是否已经设置了uncaughtException事件
- 25. 文件指针未定义的错误
- 26. 返回错误的文件指针
- 27. 空指针异常,我想不出我做错了什么
- 28. 如何设置文件指针与fseek
- 29. 我错误地设置了用于保存C++ vfw文件的avi信息?
- 30. Javascript设置指针事件
什么是您的问题?你会得到什么错误? – CookieOfFortune 2009-07-05 23:03:59