Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855

Работаем с потоками на C++ ofstream и ifstream

27.10.2012, 19:11. Показов 4272. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Подскажите пожалуйста, как при использовании ofstream и ifstream переставить курсор в начало файла?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2012, 19:11
Ответы с готовыми решениями:

Работа с потоками ofstream/ifstream
Добрый вечер! Помогите, пожалуйста, с задачей! Дан класс: class data { char str; //дата представлена в виде строки “mm/dd/yy” ...

Нужно пояснить работу с потоками ofstream, ifstream, fstream
Лектор не поставил коментариев, а я сейчас как дурак сижу разшифровую. Помогите, особенно на функции "void testofiles()" ...

Задача с потоками ofstream и ifstream
Задача, есть форма с PageControl и три вкладки TabSheet на каждой вкладке находится StringGrid мне необходимо введя данные в колонки...

6
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
27.10.2012, 19:20
C++
1
input.seekg(0);
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
28.10.2012, 09:01  [ТС]
Вот так вроде: outfile.seekp(0L);

Добавлено через 30 секунд
Спасибо

Добавлено через 10 минут
Как этот код переделать под ofstream, ifstream
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 FILE *f,*f2;
    f2 = fopen("txt.txt", "wt");
    f = fopen("Student.db", "rt");
    char u[255];
    char y[255];
    long a[100];
    int o;
    fseek(f,0L,SEEK_SET);
    cout << "Êàêóþ ñòðîêó óäàëèòü: ";
    int nimb;
    cin >> nimb;
    
    for (int j=0;j<nimb;j++)
    {
         fgets(u,255,f);
         fprintf(f2, "%s", u);
    };
    fseek(f, a[n+1], SEEK_SET);                  
    o=i-n-1;  
    for (int j=0;j<o;j++)
    {
         fgets(u,255,f);
         fprintf(f2, "%s", u);
    };        
    fclose(f2);
    fclose(f);
                  
    i--;
    f2 = fopen("txt.txt", "rt");
    f = fopen("Student.db", "wt");
    for (int j=0;j<i;j++)
    {
         fgets(u,255,f2);
         fprintf(f,"%s", u);
    };
    fclose(f2);
    fclose(f);  
                                  
    for (int j=n;j<i;j++)
    {
         a[j]=a[j+1];
    };
Добавлено через 13 часов 25 минут
Ладно, если так лень...

Для
C++
1
fseek(f,0L,SEEK_SET);
равносильное действие это
C++
1
input.seekg(0);
Для
C++
1
2
3
4
5
for (int j=0;j<nimb;j++)
    {
         fgets(u,255,f);
         fprintf(f2, "%s", u);
    };
скорее всего
C++
1
2
3
while(!infile.eof()) {
     str += infile.get();
     outfile2.write(str.c_str(),str.size()); }
но тут у меня какая то странная ошибка....
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
28.10.2012, 09:14
Цитата Сообщение от SuLLeN Посмотреть сообщение
Как этот код переделать под ofstream, ifstream
Задача какая, переписать файл без указанной строки в другой?

Добавлено через 24 секунды
Я по коду не особо понял, если честно
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
28.10.2012, 19:11  [ТС]
переписать построчно из одного файла в другой без той которую хотим "удалить".

Добавлено через 1 час 13 минут
Люди, помогите пожалуйста.

Добавлено через 19 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "mod.h"
 
using namespace std;
 
int main ()
{
    system("chcp 1251");
 
    ofstream outfile("Student.db"); // Создаем файл для записи
    ifstream infile;
    infile.open("Student.db"); // Открываем для чтения
    
    int i,n,numb;
    char variant,bel = ' ';
    sport* mas_struct=new sport[n]; // Массив для хранения данных
    
    cout << "Кол-во студентов: ";
    cin >> n;
    cout << endl;
    
    word(mas_struct,n); // Функция ввода данных о студентах
    
    cout << "Принятые данные:" << endl;
    ChangeString(mas_struct,n); // Функция вывода данных
    
    cout << "Нужно ли изменить данные? <Д/Н> ";
    cin >> variant;
    cout << endl;
    
    switch (variant) // Выбор дальнейших действий
    {
     case 'Д': ChangeNumber(mas_struct,n); // Функция изменения данных
               cout << "Принятые данные:" << endl;
               ChangeString(mas_struct,n); break;
     case 'д': ChangeNumber(mas_struct,n);
               cout << "Принятые данные:" << endl;
               ChangeString(mas_struct,n); break;
     case 'Н': break;
     case 'н': break;
     default: cout << "Не верная буква!";
    }
    
    for(i = 0; i < n; i++) // Запись в файл в виде строки
    {
     outfile << mas_struct[i].fio << bel << mas_struct[i].vid << bel << mas_struct[i].fak << bel << mas_struct[i].spc << bel << mas_struct[i].lvl << endl;
    }
    
    outfile.close(); // Закрытие файла
    
    cout << "Какую строку удалить: ";
    cin >> numb;
    
    // И где то тут должен быть обработчик для удаления "numb" строки.
    
    system("pause");
    return 0;
}
Добавлено через 7 часов 47 минут
Люююди! Помогите пожалуйста!
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
29.10.2012, 00:13
Цитата Сообщение от SuLLeN Посмотреть сообщение
переписать построчно из одного файла в другой без той которую хотим "удалить".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
 
 
int main() {
   std::ifstream ifs("file");
   std::ofstream ofs("copy");
   std::size_t index;
 
   std::cout << "Какую строку удалить: ";
   std::cin >> index;
 
   std::string line;
   for (std::size_t i = 0; getline(ifs, line); ++i) {
      if (i != index) {
         ofs << line << std::endl;
      }
   }
}
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
29.10.2012, 06:23  [ТС]
Спасибо! Очень помогли!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2012, 06:23
Помогаю со студенческими работами здесь

ifstream / ofstream
Доброго времени суток. И сразу к проблеме. Делаю вывод в файл объектов класса для их последующего считывания и обрабатывания. ...

ifstream ofstream
как работают данные файловые операции, объясните пожалуйста куда происходит запись ена жёстком диске

C++ файлы ifstream/ofstream
Доброе время суток нужна небольшая помощь с записью/считыванием из файла вообщем при считывание из файла eof() не определяет конца файла и...

Перегрузка ifstream и ofstream?
Есть класс //test.h cass test { private: int i; string st; public:

ifstream/ofstream/fstream
#include &lt;fstream&gt; fstream autosave; autosave.open(&quot;...autosave.txt&quot;); char x; autosave &lt;&lt; x; cout &gt;&gt;...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru