Я попытался сделать так:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
main ()
{
FILE *F;
F = fopen("test.txt", "r+");
cout<<fprintf(F,"fhtrhgfh");
getch();
}
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
_nic Второй параметр fopen нужно "w" ставить для записи. Точнее для создания(и очистки если был такой) файла, если же файл есть то писать можно и с "r"(в этом случае содержимое не стирается).
можно например вот так:
Код:
#include <stdio.h> int main(){ FILE* f = fopen("test.txt","w+"); fprintf(f,"dfgdg"); fclose(f); return 0; }
Файл в одной папке с exe и с названием test.txt существовал.cout выдал 8 , тоесть ошибки как бы непроизошло но файл всеравно оказался пустой .
Вся проблема решилась компиляцией на 6 борланд билдере.
Ещё такой вопрос как мне из txt файла вывести в char? Делаю примерно так:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <io.h>
main ()
{
int a;
void *buf[16];
FILE *F;
F = fopen("test.txt", "r");
a=_fileno(F);
read(a,buf,16);
cout<<buf;
getch();
fclose(F);
}
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
_nic Должно работать. Единственное что файл всёже закрывать надо. Но это не столь критично, т.к. при завершении работы программы автоматически закроются все дескрипторы. Другое дело если ты смотрел файл до завершения (до нажатия любой клавиши от getch() ). Есть ещё один вариант рабочая папка программы во время выполнения не совпадает с папкой где находится сама экзэшка. Как пример запуск программы в MS C++ из среды: программа находится в папке Release(или Debug), а рабочая папка на уровень выше. Поэтому вполне возможно ты просто не тот файл смотрел. Проверь функцией GetCurrentDirectory.
лучше позно чем никогда А какой был до этого компилятор?
Код:
void *buf[16];
Что-то здесь не чисто. Почему бы не проще:
Код:
char buf[16]
Добавлено спустя 22 минуты, 58 секунд
_nic писал(а):
А выводится какая то шестнадцетиричная чепуха
Кстати за что не люблю cin'ы и cout'ы (под автматом не буду пользоватся ) так это за его самостоятельность, а люблю управлять выводом: если сказал выводить числом значит числом. В твоём случае имеется массив указателеей вот он как адреса и интерпретировал наверное(хотя я может ошибаюсь - не знаток).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения