#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