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

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

Войти
Регистрация
Восстановить пароль
 
KostyaKulakov
Заблокирован
#1

Вывод данных из тектового файла - C++

21.07.2012, 08:25. Просмотров 451. Ответов 7
Метки нет (Все метки)

Здравствуйте уважаемые эксперты c++. не могли бы мне помочь. на реализации одно из кода. мне понадобилась возможность вывода из файла txt всех данных в программа. те в файле txt написано
hello
1
log
world
программа должна считать всё отуда и вывести на экран. как это можно реализовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=MASTER=-
77 / 71 / 5
Регистрация: 15.03.2012
Сообщений: 259
21.07.2012, 08:43     Вывод данных из тектового файла #2
О-о-о- в этом я уже спец

Чтоб сразу всё вывести - вот:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ifstream f("ТВОЙ ФАЙЛ.TXT");
    if (!f.is_open()) 
    {
        cout << "Error! Не могу найти твой файл :-) " << endl; 
        return 1;
    }
    while(!f.eof())
    {
        char a=0;
        f.get(a);
        cout << a;
    }
    f.close();
    system("pause");
    return 0;
}
KostyaKulakov
Заблокирован
21.07.2012, 09:02  [ТС]     Вывод данных из тектового файла #3
а можешь за комментировать строчки.
-=MASTER=-
77 / 71 / 5
Регистрация: 15.03.2012
Сообщений: 259
21.07.2012, 09:15     Вывод данных из тектового файла #4
В каком смысле? У тебя компилятора нет? Или ошибки компиляции этих нескольких строк? Тебе нужен exe файл?
Ну тогда см архив.
Вложения
Тип файла: rar 1.rar (21.9 Кб, 4 просмотров)
-=MASTER=-
77 / 71 / 5
Регистрация: 15.03.2012
Сообщений: 259
21.07.2012, 09:16     Вывод данных из тектового файла #5
Ухахах чё то я не рассмотрел, не "можешь скомпилировать" , а можешь "за комментировать" :-))))))
KostyaKulakov
Заблокирован
21.07.2012, 09:17  [ТС]     Вывод данных из тектового файла #6
ты не понял. вот ты про компилятор шутканул
можно просто над каждой строчкой поставить комментарий и написать за что она отвечает и что выполняет. а то я уже 5 минут сижу так и не понял принцип действия
-=MASTER=-
77 / 71 / 5
Регистрация: 15.03.2012
Сообщений: 259
21.07.2012, 09:37     Вывод данных из тектового файла #7
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
#include <iostream>   //библиотека ввода вывода
#include <fstream>  //библиотека потоков (в том числе и файловых)
using namespace std;  //использовать по умолчанию в данном фале пространство имён std, чтоб,
//например не писать std::cout каждый раз
 
int main()  //точка входа в консольную программу (по хорошему должны быть с аргументами)
{ //фигурная скобка ;-)
    ifstream f("ТВОЙ ФАЙЛ.TXT");  //загружаем файл в файловый поток программы, тоесть открываем  файл и теперь к нему можно обращаться через идентификатор потока f
    if (!f.is_open())  // функция потока is.open() проверяет, открыт ли твой файл, если нет - то каюк
    { //фигурная скобка :-)))))))))
        cout << "Error! Не могу найти твой файл :-) " << endl;   //cout - выводит данные на экран         // консоли, тут могут быть как числа так и текст, << - перегруженный оператор, говорит как бы
// засунуть в поток, а ест ещё и >> - это вытащить из потока, тут в общем сообщение об ошибке
        return 1; // возвращаем чё угодно
    } // ты уже знаешь, что это
    while(!f.eof()) //цикл будет идти, пока в потоке не встретится байт окончания файла, о чём
//тебя проинформирует возвращаемое true функции eof() файлового потока, дело в том, что
//в файле есть указатель на текущую позицию и когда ты читаешь из потока (файла), этот            // указатель смещается вперёд, в сторону конца файла, на число считанный символов (или байт в // двоичном виде)
    { // фигурная скобкО ;-)
        char a=0; объявляем переменную типа char и инициализируем её нулём, в данном контексте
// инициализация нулём важна, чтоб в конце прочитанного лишний символ мусора не читался.
//долго объяснять почему.
        f.get(a);  //функция get(a) - считывает один символ из текущей позиции потока и сдвигает
//указатель потока на один символ вперёд
        cout << a; //выводит данные на экран консоли, по скольку функция get() читает все символы
//в том числе и пробельные (пробел, горизонтальная табуляция, перенос и тд), то в итоге
//текст на экране получается такой, какой он есть в файле
    } //бугага
    f.close(); //закрываем файл
    system("pause"); //посылаем команду в консоль pause, тоесть это всё равно, что ты в bat файле
// бы её написал, тоесть там всякие ЕХО @ и прочее отправляется через system
//здесь нужно для того, чтоб при запуски программы не из студии, а просто с харда
//у тебя твоё черное окошко сразу не закрывалось и ты видел результат
 
    return 0; //вернули ноль - признак того, что всё олрайт
} //муххахах
Добавлено через 2 минуты
этот код не компилируй )) смотри только коменты, форумный редактор знаки коментариев расставил не правильно ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2012, 11:57     Вывод данных из тектового файла
Еще ссылки по теме:

Ввод/вывод данных в/из файла C++
Вывод данных из файла по столбцам C++
Загрузка данных из файла с возможностью выбора файла C++
C++ Вывод данных из файла, реализация через класс работает неправильно
Вывод на экран данных их бинарного файла C++

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

Или воспользуйтесь поиском по форуму:
xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
21.07.2012, 11:57     Вывод данных из тектового файла #8
В цикле while создавать каждый раз переменую "a" типа char,кошерно...
Мой вариант :
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
#include <stdio.h>
#include <stdlib.h>
#include <locale>
 
int main()
{
setlocale(LC_ALL,".1251");
char filename[512] = {0};
char temp = 0;
FILE *f = NULL;
 
    printf("Введите адрес файла : ");
    scanf("%s",filename);//& амперсант не требуется
      
f = fopen(filename,"r+t") //читаем и не удаляем
  if (!f)
{
printf("К сожеления фаил не найден,или поврежден и т.д\n");
system("PAUSE");
return 1;
}
 
while ( (fgetc(temp) ) != EOF )
{
fputc(temp);
}
 
 
system("PAUSE");
return 0;
}
Yandex
Объявления
21.07.2012, 11:57     Вывод данных из тектового файла
Ответ Создать тему
Опции темы

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