Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > вывод содержимого произвольно заданного файла


Автор: Julia9311 11.12.2012, 17:58
Мне нужно написать программу, которая на экран выводит содержимое произвольно заданного файла. У меня есть программа, которая выводит заданный в программе файл, а как сделать так, чтобы выводился произвольно заданный файл? Помогите, пожалуйста!)

Код

#include <fstream>
#include <iostream>
using namespace std; 
int main()
{    
    
    char buff[50]; 
    ifstream fin("studio.txt"); 
    if (!fin.is_open())       
    cout << "Fail ne mothet bit oktrit!\n"; 
    
    else    
{    
        fin >> buff; 
        cout << buff << endl;  
        fin.getline(buff, 50);     
        fin.close();  
        cout << buff << endl;     
}    
    system("pause");    
    return 0;
}

Автор: NoviceF 11.12.2012, 19:52
 smile Представил как в консоль рандомно выводится содержимое текстового файла  smile 

Автор: feodorv 11.12.2012, 20:06
Цитата(Julia9311 @  11.12.2012,  18:58 Найти цитируемый пост)
а как сделать так, чтобы выводился произвольно заданный файл?

Либо попросите пользователя ввести имя файла с консоли, либо передавайте имя файла как аргумент вызова Вашей программы, при этом программа модифицируется так:
Код

int main( int argc, char **argv)
{
  if( argc <= 1 )
  {
    cout << "Usage: proga filename" << endl;
    return 0;
  }

  ifstream fin( argv[1] ); 
...
}


Но в любом случае Ваш код выводит всего лишь первую строку файла, но никак не содержимое.

Автор: Julia9311 11.12.2012, 20:57
А если пользователь вводит имя файла с консоли, то как тогда будет модифицироваться программа? ) Я пыталась так делать, но у меня ничего не получилось=(

Автор: feodorv 11.12.2012, 21:35
Цитата(Julia9311 @  11.12.2012,  21:57 Найти цитируемый пост)
А если пользователь вводит имя файла с консоли, то как тогда будет модифицироваться программа?

Ну, можно так сделать:
Код

    char fileName[260];
    cout << "Enter file name: ";
    cin >> fileName;
    cout << "file name is " << fileName << endl;

    ifstream fin(fileName); 

Автор: Julia9311 11.12.2012, 22:12
feodorv, спасибо большое! Все получилось!  smile 

Автор: NoviceF 11.12.2012, 22:46
Цитата(Julia9311 @  11.12.2012,  23:12 Найти цитируемый пост)
feodorv, спасибо большое! Все получилось!


И файл даже читается целиком?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)