Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2016, 13:36   #1
Anzipex
Новичок
Джуниор
 
Аватар для Anzipex
 
Регистрация: 28.12.2013
Сообщений: 2
По умолчанию eof не выводить последний символ

Код:
#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char* argv[]) {
    
    int i;
    int a;
    int n=0;
    
    ofstream outfile; 
    outfile.open("/home//Prog/data.txt");
    cout << "n = ";
    cin >> n;
    for (i = 0; i < n; i++) {
        a = rand() % 10;
        outfile << a << endl;
    }
    outfile.close();
    
    ifstream infile;
    infile.open("/home//Prog/data.txt");
    if (infile) {
        while (!infile.eof()) {
            infile >> a;
            cout << a;
            cout << "\n";
        }
        infile.close();
    }
    return 0;
}
Как сделать, чтобы не учитывался 2 раза последний выводимый символ? Т.е. если я ввожу n = 3 у меня на выходе не должно быть второй тройки:
1
2
3
3
Anzipex вне форума Ответить с цитированием
Старый 23.03.2016, 14:07   #2
Anzipex
Новичок
Джуниор
 
Аватар для Anzipex
 
Регистрация: 28.12.2013
Сообщений: 2
По умолчанию

Код:
#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char* argv[]) {
    
    
    int i;
    int a;
    int n=0;
    
    ofstream outfile; 
    outfile.open("/home/anzipex/Prog/data.txt");
    cout << "n = ";
    cin >> n;
    for (i = 0; i < n; i++) {
        a = rand() % 10;
        outfile << a << endl;
    }
    outfile.close();
    
    ifstream infile;
    infile.open("/home/anzipex/Prog/data.txt");
    if (infile) {
        while (!infile.eof()) {
            infile >> a;
            if (infile.eof()) break;
            cout << a;
            cout << "\n";
        }
        infile.close();
    }
    return 0;
}
Понял как
Anzipex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си. Последний символ в строке Bayern_M Помощь студентам 6 21.12.2022 17:07
Удалить последний символ ячейки andre344 Microsoft Office Excel 10 14.09.2020 16:10
первый и последний символ в строке AndreyF Общие вопросы Delphi 10 03.08.2016 12:09
Как заменить последний символ в строке? artemavd Общие вопросы Delphi 16 01.09.2012 18:49
объясните почему рубится последний символ hen Общие вопросы C/C++ 4 07.04.2009 22:01