25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
1

Ввод вывод из/в файлы(и еще пару вопросов)

18.04.2011, 00:22. Показов 1539. Ответов 3
Метки нет (Все метки)

Знаю парочку способов ввести/вывести данные из файла не знаю какой из них какой!
В общем я отпишу мысли, а вы скажите верны ли они, у преподавателя(почему не пойму?!) ума не хватило спросить, потому пишу сюда.

Для .txt подходит:
fprintf - форматный ввод в файл
fscanf - собственно вывод форматный

fputc - запись одного символа в файл
fscanf - считывание одного симв из файла

fgets - считывание строки из файла
fputs - запись строки в файл
1. Все вышеописанное ТОЛЬКО для .txt файлов. Так?

ДЛЯ .dat подходит только :
fread -считать
fwrite - записать
2. Верно? Или в дат файл можно записывать еще и через другие функции?

Вообще fwrite/fread вроде бы "байтовое"("битовое") считывание/запись в файл, а все остальное форматная запись. Так?

3. Что возвращает ftell и как можно узнать на какой позиции стоит сейчас "курсор" в файле, чтобы потом через fseek попасть в эту позицию.
Компилятор VS 2010 говорит, прототип ftell такой long ftell(.... ), а fseek(прототип int fseek(.., long _Offset,..)). Как я понимаю, нужно запомнить позицию ftell и потом использовать ее в fseek. Так? Если так (да и если не так, то как?) дайте пожалуйста пример простенький. Хелп программы не помог ничем.

Если что еще напишу !

Добавлено через 14 минут
Уже дополнение

Как поставить указатель на конец файла? Есть задача... при определенных условиях данные надо записать в конец файла(через функцию)
Пример:
C++
1
2
3
4
5
6
7
8
array_proc(int *bufArr, size) {
     FILE *file; fopen_s(&file, "out.dat", "wb"); 
     int i = 0, buffer;
     if(i%2 == 0) {
          buffer = bufArr[i];
          fwrite(&buffer, sizeof(int), 1, file);
     }
     fclose(file);
И еще... если открыть файл в режиме ab(добавление в конец) будет ли работать? 2 и 3 раз понятно будет... А в первый раз, когда файл пустой?
В любом случае, как поставить указатель на конец файла?

Добавлено через 11 часов 48 минут
Ап. Почти разобрался но хотелось бы ваше мнение услышать
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2011, 00:22
Ответы с готовыми решениями:

Ifstream и пару вопросов
Пример: я считал файл ifstream in("file.txt")б while(in) { in >> k; cout << k; } ...

Двоичные файлы, ввод-вывод
Здравствуйте. При компиляции программы вызывается исключение со след. текстом: Вызвано исключение...

Двоичные файлы, ввод-вывод
Здравствуйте. Столкнулся с проблемой ввода-вывода в двоичный файл. Вот само задание: 1. С...

Пару вопросов по двумерным массивам
Преподователь задал вопросы которые поставили меня в ступор. 1. можно ли просмотреть все элементы...

3
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
18.04.2011, 04:06 2
a и ab создают файл если его нет и дописывают в конец если есть. если необходимо и читать и записывать в бинарнике то подойдёт rb+. ftell возвращает количество байтов между началом файла и курсором
1
3093 / 2413 / 256
Регистрация: 11.03.2009
Сообщений: 5,450
18.04.2011, 04:07 3
Функция fseek принимает три аргумента: первый - указатель на файл, второй - насколько "прыгаем", третий - откуда. Третий аргумент может иметь три значения: SEEK_SET - отсчет идет от начала файла, SEEK_CUR - от текущей позиции, SEEK_END - от конца файла. Соотвественно, чтобы установить указатель в конец файла, делаем следующий вызов fseek(file, 0, SEEK_END);
ftell возвращает текущее положение указателя.
1
20 / 20 / 5
Регистрация: 03.04.2011
Сообщений: 89
18.04.2011, 05:57 4
#include <fstream>

int main()
{
string a; //объявление строки
char s[256]; //объявление массив символов
ifstream inf; //создоание объекта для работы с файлом
inf.open("c:\\text.txt"); //открытие файла
inf>>a; //чтение до первого пробела или enter
inf.getline(s,sizeof(s)); //чтение строки целиком



ofstream out; //для записифайла
out.open();
out<<a<<endl; //выводит

}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2011, 05:57
Помогаю со студенческими работами здесь

Цикл while, пару несложных вопросов
Есть у меня две блок-схемы по ним надо написать программу в первой у меня идёт цикл while, &quot;если...

src.Request_Content(0) не работает через AJAX и еще пару вопросов.
Всем привет! Давно я не брал в руки шашку). Жили, не тужили, ломились напрямую к серверу агентом...

Задачи на стандартный ввод/вывод в языке Хаскель и еще кое-что
Ребят, помогите кто может пожалуйста!!! Вот такая задачка есть: Необходимо реализовать...

Пару вопросов
1. Есть ли у php функция random 2. Есть текстовый файл. Как происвоить массиву содержанию этого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru