Форум программистов, компьютерный форум CyberForum.ru

fseek / fread - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ формальный ввод-вывод в с++ http://www.cyberforum.ru/cpp-beginners/thread403237.html
задание на картинке, заранее огромное спасибо!!!!
C++ Определить сколько элементов массива попадает в интервал Помогите пожалуйста с такой задачей: Нужно определить сколько элементов массива попадает в интервалы от А до В с шагом (А-В)/5 http://www.cyberforum.ru/cpp-beginners/thread403232.html
массивы в С++ C++
задание на картинке, и заранее укажите как можно эту программу протестировать
C++ Перевод римских чисел в арабские и наоборот
Я в Си программирую недавно, помогите пожалуйста решить.... Разработать программу для перевода чисел, записанных римскими цифрами в числа, записанные арабскими, и наоборот. 1 I 5 V 10 X 50 L 100 C 500 D 1000 M
C++ Использование функций-шаблонов http://www.cyberforum.ru/cpp-beginners/thread403221.html
Здравствуйте нужна помощь по задаче на использование функций-шаблонов: Для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи: Подсчитать среднее арифметическое ненулевых элементов, расположенных над побочной диагональю. И на всякий случай выпишу то, что сама накарябала :) : #include <iostream>...
C++ Напечатать в алфавитном порядке все различные русские буквы , входящие в введенный текст Заранее спасибо! подробнее

Показать сообщение отдельно
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
09.12.2011, 22:20     fseek / fread
Всем привет!

Такой вопрос возник. Есть строка, состоящая из нескольких "записей" в файле (буквы + числа). Нужно с помощью функций fseek / fread найти в этой строке определенную запись и записать ее в массив.

Например, в файле есть: aaa123bbb456ccc789
Здесь 3 записи: aaa123, bbb456, ccc789 с именами (соответственно): aaa, bbb, ccc. Применяю функцию: Found(fname, "ccc") и в массив должно записаться: ccc789.

Делаю так:
C++
1
2
3
4
5
6
7
8
void Found (char *fname, char *name)
{
    FILE* f = fopen (fname, "rb"); 
    char *ind;
    fseek(f,name,SEEK_SET); //а вот здесь ошибка
    fread(&ind, sizeof(ind), 1, f);
    fclose (f);
}
Почему не работает? - я понимаю, что name должно быть типа long, но не понимаю, каким образом char привести к этому типу и корректно использовать.

И попутно хочу сразу задать ещё 1 один вопрос: если после применения этой функции я снова открою этот файл, где конкретно будет находиться указатель?

Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru