Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 796
#1

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

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

Доброго времени суток!

Подскажите пожалуйста, как при использовании ofstream и ifstream переставить курсор в начало файла?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 19:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работаем с потоками на C++ ofstream и ifstream (C++):

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

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

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

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

ifstream/ofstream/fstream - C++
#include <fstream> fstream autosave; autosave.open("...autosave.txt"); char x; autosave << x; cout >>...

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

6
Петррр
5970 / 3407 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
27.10.2012, 19:20 #2
C++
1
input.seekg(0);
1
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 796
28.10.2012, 09:01  [ТС] #3
Вот так вроде: 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
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
28.10.2012, 09:14 #4
Цитата Сообщение от SuLLeN Посмотреть сообщение
Как этот код переделать под ofstream, ifstream
Задача какая, переписать файл без указанной строки в другой?

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

Добавлено через 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
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
29.10.2012, 00:13 #6
Цитата Сообщение от 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 / 4
Регистрация: 27.12.2011
Сообщений: 796
29.10.2012, 06:23  [ТС] #7
Спасибо! Очень помогли!
0
29.10.2012, 06:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 06:23
Привет! Вот еще темы с ответами:

Функции ifstream , ofstream. Исправить - C++
Помогите исправить код пжлст, не работает прога( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

ifstream, ofstream и объекты класса - C++
Доброго времени суток, помогите пожалуйста разобраться. Есть некий класс: class Tr { public: Tr(){} ~Tr(){} private:

Работа с кириллицей в ofstream/ifstream - C++
Как сохранять русские буквы в ofstream и выводить русские буквы в через ifstream ?

class/string/ifstream/ofstream - C++
Доброе время суток всем!! Люди я уперся в стену и буду признателен за помощь date.h #pragma once #include &lt;iostream&gt; #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru