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

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

Войти
Регистрация
Восстановить пароль
 
anawka
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 11
#1

Построчный вывод текстового файла на экран - C++

25.02.2010, 11:05. Просмотров 916. Ответов 5
Метки нет (Все метки)

нужно организовать построчный вывод файла на экран
пока остановился на данном способе, так как по крайней мере он понятен, с getline и пр. как-то не получается, выдает ошибки
нужно чтобы выводил именно построчно и с пробелами, а не единым текстом, как собственно и получается данным методом
пробовал данного вида проверки f(x==' ') как если бы был пробел и f(x=='\n') если конец строки, просто не реагирует на это условие и все.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream.h>
#include <stdlib.h>
#include <iostream.h>
void main(void) {
system("cls");
char line[80],x;
//char file[40];
//cin>>file;
ifstream f;
f.open("D:\\1.txt");
while(f!=NULL) {
if(x==' ') cout<<endl;
f>>x;
cout<<x;
}
cout<<endl;
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2010, 11:05     Построчный вывод текстового файла на экран
Посмотрите здесь:

Необходимо дописать значение в вывод текстового файла C++
Построчный вывод файла C++
Вывод содержимого текстового файла на экран C++
Вывод рандомных данных в классе из текстового файла C++
C++ Вывод строки из текстового файла
C++ Работа с текстовыми файлами: Вывод из текстового файла
C++ Вывод на экран данные из текстового файла
Вывод слова из текстового файла состоящего из нескольих слов C++
C++ Вывод карты из текстового файла
C++ Вывести на экран содержимое текстового файла
Построчный вывод информации C++
C++ Построчный файловый вывод

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.02.2010, 13:02     Построчный вывод текстового файла на экран #2
Функция поместить в поток >> игнорирует пробелы,
попробуй так:
C++
1
2
3
4
5
6
while((x = f.get()) != EOF)
{
   if(x == ' ')
      cout  << endl;
   cout << x;
}
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
25.02.2010, 13:27     Построчный вывод текстового файла на экран #3
Как-то так можно...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include <iostream>
#include<conio.h>
#include <string.h>
 
#define PATH "C:\\h1.txt" //Путь к файлу
int main()
  {
   char line[100];
   FILE *stream;
   char *result;
   stream = fopen(PATH,"r");
   while (!feof(stream))
   {
   result = fgets(line, 100, stream);
   std::cout << result;
   }
   fclose(stream);
   getch();
   return 0;
}
anawka
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 11
25.02.2010, 13:27  [ТС]     Построчный вывод текстового файла на экран #4
kazak
так просто пробелы шпарит похоже, видно как указатель движется по нижней строке
попробовал в разных вариациях этот вариант, тоже как-то не вышло ничего
мне нужно записать в один массив строки и в другой массив все слова, дальше уже просто будет, может это по другому легче сделать?
ccoder
благодарю, получилось, осталось разобраться только)
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.02.2010, 20:10     Построчный вывод текстового файла на экран #5
Цитата Сообщение от ccoder Посмотреть сообщение
Как-то так можно...
"Как-то так" как-раз лучше не делать Плохо смешивать С и С++... Вот по отдельности:
С
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
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
    char buf[BUFSIZ];
    FILE *f;
    
    printf("File to read: ");
    if ( scanf("%s", buf) != 1 ){
        fprintf(stderr, "Can't get file name!\n");
        exit(1);
    }
    
    if ( ( f = fopen(buf, "r") ) == NULL ){
        fprintf(stderr, "Can't open file <%s> for input!\n", buf);
        exit(1);
    }
    
    while ( fgets(buf, BUFSIZ, f) )
        printf("%s", buf);
    if ( ferror(f) ){
        fprintf(stderr, "Can't read from file!\n");
        exit(1);
    }
    
    fclose(f);
    printf("\n");
    exit(0);
}
С++
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
#include <iostream>
#include <fstream>
#include <string>
 
int main(){
    std::string buf;
    std::cout << "File to read: ";
    std::cin >> buf;
    
    std::ifstream ifs(buf.c_str());
    if ( !ifs.is_open() ){
        std::cerr << "Can't open file <" << buf << "> for input!" << std::endl;
        return 1;
    }
    
    while ( std::getline(ifs, buf) )
        std::cout << buf << std::endl;
    if ( ifs.bad() ){
        std::cerr << "Can't read from file!" << std::endl;
        return 1;
    }
    
    ifs.close();
    return 0;
}
anawka
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 11
02.03.2010, 22:30  [ТС]     Построчный вывод текстового файла на экран #6
easybudda
тоже спасибо
пока воспользовался вариантом ccoder'а главное сдал лабу, в след. раз и этот применим)
Yandex
Объявления
02.03.2010, 22:30     Построчный вывод текстового файла на экран
Ответ Создать тему
Опции темы

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