#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
?
Вы также можете позвонить и позвонить по телефону CharReadWrite
, если открытие ReadMe.txt завершается с ошибкой.
1
Одна из проблем заключается в том, что вы пытаетесь прочитать (и затем закрыть) fptr2
, даже если вам не удалось открыть его.
Try:
#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, имя файла, "ш") = 0!)
Когда вы передаете «ш ', "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."
Вместо этого используйте флаг «r +».
0
Вы открываете файл для письма и пытаетесь его прочитать (fgetc) ...
Смежные вопросы
- 1. Я установил свой virtualenv неправильно?
- 2. Я установил pqxx неправильно?
- 3. Я неправильно импортирую свой модуль?
- 4. Неправильно разыменовать указатель на указатель
- 5. Я установил репозиторий подрывной деятельности неправильно?
- 6. Я установил python3.3.2 на свой компьютер, ubuntu12.04. И eric IDE
- 7. Я вызываю free() correclty на свой указатель на структуру?
- 8. Указатель NSString передан функции ... не сохраняя значение, которое я установил
- 9. Я установил плагин Admob в свой проект Phonegap ... теперь что?
- 10. Почему я получаю нулевой указатель на свой хэш-код?
- 11. Почему django жалуется, что я еще не установил свой ДВИГАТЕЛЬ?
- 12. Как установить eclipse, я установил свой путь класса для JDK?
- 13. Если я не установил LaunchImage, окно программы инициализируется неправильно
- 14. Я удалил свой файл Application.log
- 15. указатель на указатель, я потерял
- 16. Я установил java6 и java8 на свой Mac, какой я использую?
- 17. Неправильно работает тестовый указатель на шлифовальном станке
- 18. Исправление Firefox неправильно, если я не очистил свой кеш
- 19. Я установил Elasticsearch 2.1.0
- 20. Программа анализа: Как я неправильно загружаю свой объект?
- 21. Правильно ли я установил код?
- 22. Я неправильно структурирую свой оператор IF в python?
- 23. Я добавляю элементы в свой массив Java неправильно?
- 24. Как я могу скрыть свой файл application.html.erb
- 25. Я хочу отредактировать свой xml-файл
- 26. Я правильно установил рельсы на локальный хост?
- 27. Я правильно установил Ruby 1.9.3 на RHEL?
- 28. Я установил MongoDB на сервер. Что теперь?
- 29. Wordpress неправильно отображает файл CSS
- 30. Meteor CollectionFS - Как я могу изменить свой текстовый файл?
Что вы хотите сказать? Какая у вас ошибка? – CookieOfFortune
(c = fgetc (fin)! = EOF) имеет скобки. Должно быть (c = fgetc (fin))! = EOF. – Stephan202