Добрый день, уважаемые коллеги!
У меня есть файл, в котором содержатся данные ввиде 3-х столбцов:
A a @
B b 8
C c [
....
Моя задача состоит в том, чтобы вывести эти данные в поток, а затем на экран. Я пытаюсь сделать следующее: создать структуру, состоящую из 3 элементов, открыть файл и в цикле выводить до конца файла эти данные:
struct Replaces
{
char first_symbol ;
char second_symbol ;
char third_symbol ;
};
int main()
{
ifstream inputFile("replaces");
Replaces replace;
int n;
while(n!=inputFile.eof())
{
inputFile>> replace.first_symbol;
inputFile>> replace.second_symbol;
inputFile>> replace.third_symbol;
cout<< replace.first_symbol <
Другие языки программирования и технологии
потоковое считывание столбцов из файла с++
Как-то так:
#include <fstream>
#include <iostream>
using namespace std;
struct Replaces {
char first_symbol ;
char second_symbol ;
char third_symbol ;
};
int main() {
ifstream inputFile("replaces");
Replaces replace;
while (inputFile
>> replace.first_symbol
>> replace.second_symbol
>> replace.third_symbol) {
cout
<< replace.first_symbol << ' '
<< replace.second_symbol << ' '
<< replace.third_symbol << endl;
}
}
> 1) правильно ли делать это через структуру?
Если вам удобно через структуру, то значит правильно. По мне, так тут достаточно использовать три символьных переменных. Впрочем, что дальше нужно делать с этими символами неизвестно (вы об этом ничего не сообщаете) , может быть и в дальнейшем будет удобнее работать со структурой.
> 2) если я на правильном пути, то почему поток не инициализируется данными? Как это исправить?
> int n;
n неинициализирована
> while(n!=inputFile.eof())
Зачем тут нужно это сравнение?
Update:
> Что то я попробовал такой вариант, который был предложн ниже, все равно не хочет выводить.
Для программы какая папка является рабочей? Вот туда ваш файл и положите. Или напишите полный путь к файлу, типа: ifstream inputFile("c:/temp/replaces");
Все работает:
> Кстати, тук как лучше делать-в открытую или в личку писать?
Набрать нужное число баллов, отвечая на вопросы, и получите возможность разрешать комментарии в к ответам.
#include <fstream>
#include <iostream>
using namespace std;
struct Replaces {
char first_symbol ;
char second_symbol ;
char third_symbol ;
};
int main() {
ifstream inputFile("replaces");
Replaces replace;
while (inputFile
>> replace.first_symbol
>> replace.second_symbol
>> replace.third_symbol) {
cout
<< replace.first_symbol << ' '
<< replace.second_symbol << ' '
<< replace.third_symbol << endl;
}
}
> 1) правильно ли делать это через структуру?
Если вам удобно через структуру, то значит правильно. По мне, так тут достаточно использовать три символьных переменных. Впрочем, что дальше нужно делать с этими символами неизвестно (вы об этом ничего не сообщаете) , может быть и в дальнейшем будет удобнее работать со структурой.
> 2) если я на правильном пути, то почему поток не инициализируется данными? Как это исправить?
> int n;
n неинициализирована
> while(n!=inputFile.eof())
Зачем тут нужно это сравнение?
Update:
> Что то я попробовал такой вариант, который был предложн ниже, все равно не хочет выводить.
Для программы какая папка является рабочей? Вот туда ваш файл и положите. Или напишите полный путь к файлу, типа: ifstream inputFile("c:/temp/replaces");
Все работает:

> Кстати, тук как лучше делать-в открытую или в личку писать?
Набрать нужное число баллов, отвечая на вопросы, и получите возможность разрешать комментарии в к ответам.
Похожие вопросы
- Считывание данных из текстового файла С++
- Как при считывании с файла даних, можно было бы вернуться на символ назад. тоесть один и тотже символ считать два раза
- почему потоковое видео с Контакта не сохраняется как временный файл? спасибо.
- QBASIC сформировать мосив состоящая С М-строк,и М-столбцов
- Как в excel разбить столбец ФИО на 3 столбца Ф,И,О
- EXEL-3.0 Как из одного столба данных исключить значения другого столбца обычному пользователю?
- Как сортировать столбцы Exel с одинаковыми значениями?
- Excel как поделить числа в столбце на одно число
- Нужна программа для заполнения таблицы 9*2, чтобы в ней не было повторяющихся столбцов на языке lua (можно на С++)
- Как создать txt файл с числами от 00000000 до 99999999 что бы они были записаны столбцом?