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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 21:30   #1
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию Вывод из файла

Здравствуйте, неправильно работает кусочек программы. Ошибок нету, но содержимое файла на экране не выдает.
Код:
if ( strcmp(argv[1],"print")==0){
fstream file;
string line;
string baseName=argv[2]; //получаем имя файла для просмотра содержимого этого файла
string fileName3 ="E:\\" + baseName + ".DBF";
file.open( fileName3.c_str(), fstream::out ); //преобразуем строку fileName к тому виду, который принимает конструктор класса fstream.


/*считываем файл до конца*/
	while(!file.eof())
	{
getline(file,line);

cout <<line<<endl;
	}

}
Может ли на это влиять расширение файла?
Serjuk вне форума Ответить с цитированием
Старый 30.03.2011, 22:17   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

расшрение файла вообще значения не имеет, пошагово проходили в отладчике? вообще заходит в процедуру чтения файла?
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 30.03.2011, 22:50   #3
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию

Цитата:
пошагово проходили в отладчике? вообще заходит в процедуру чтения файла?
как это проверить ? компилятор codeblocks.
при запуске программы - наборе print <название файла>. Размер файла становится равным 0, тоесть все содержимое оттуда забирается, но на экран не выводит ...
Serjuk вне форума Ответить с цитированием
Старый 30.03.2011, 22:53   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
fstream::out
Или читать... Вы определитесь.
p51x вне форума Ответить с цитированием
Старый 31.03.2011, 19:05   #5
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию

Цитата:
Код:

fstream:ut
Или читать... Вы определитесь.
эээ...а что тут такого ? out - это же вывод ,а мне и нужны содержимое файла вывести на экран. единственное может быть
Код:
ofstream file ;
file.open( fileName3.c_str(), ios::out );
но при такой записи появляется ошибка :
error: no matching function for call to `getline(std:fstream&, std::string&)'
Serjuk вне форума Ответить с цитированием
Старый 01.04.2011, 09:52   #6
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Код:
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      cout << line << endl;
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 17.04.2011, 17:07   #7
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию

Опять возникла проблемка :
Создается файл exaMples.txt в него записываются структурированные данные..После того как заполнил этими данными файл - хочу вывести их на экран. Но программа не видит этого файла с таким названием. Дальше если зайти на диск, открыть его и сделать "сохранить как" ничего не меняя. То при следующем запуске программы заполнив файл данными, программа выдаст мне данные файла, который был создан прошлым запуском программы и соответсвенно на диске будет 2 файла exaMples.txt с одинаковым расширением и названием, но разным содержанием! Как это исправить ?)

Код:
 
int main () {
//создание файла 
fstream file ;
 string baseName = "ExaMples";
 string fileName = "E:\\" + baseName + ".txt";
 file.open ( fileName.c_str(),ios::out);

// вбивание данных

file.close()

file_open()
}

void file_open (){
    string line;
  ifstream myfile ("E:\\ExaMples.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      cout << line << endl;
    }
    myfile.close();
  }

  else cout << "Unable to open file";

}
тоесть если не сделать операцию "сохранить как" то программа будет выдавать сообщение unable to open file
Serjuk вне форума Ответить с цитированием
Старый 17.04.2011, 19:06   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
out - это же вывод ,а мне и нужны содержимое файла вывести на экран.
Вот именно.. это ВЫВОД для файлового потока, т.е. ВЫВОД В ФАЙЛ
p51x вне форума Ответить с цитированием
Старый 17.04.2011, 22:21   #9
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию

почему оно не хочет выводить файл, который создается, пока я тупо вручную его не пересохраню ?
Serjuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод в Memo из файла quarty Общие вопросы Delphi 2 01.11.2010 00:20
Вывод данных из файла Desha Помощь студентам 3 04.11.2009 18:38
Вывод номеров из файла zenner Microsoft Office Excel 4 02.11.2009 15:52
вывод информации из файла pautina Общие вопросы Delphi 12 26.01.2009 08:54
вывод из файла!!! Exclucive Общие вопросы C/C++ 2 24.05.2008 20:42