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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2010, 23:02   #11
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

И что случится, если я прочитаю ASCII-файл в двоичном режиме?
Vago вне форума Ответить с цитированием
Старый 13.02.2010, 23:12   #12
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

ПО-моему ничего путного
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 13.02.2010, 23:22   #13
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию


Код:
int main () {

   FILE* fl;
   const int   lBlock = 4,
               nLines = 5;
   char  buf[lBlock];
   char* strFileNm = "bred.txt";
   int   i, j;
   
   fl = fopen( strFileNm, "w" );
   for ( i = 0; i < nLines; i++ )
      fprintf( fl, "%3d\n", i+1 );
   
   fclose( fl );
   fl = fopen( strFileNm, "rb" );

   i = 0;
   while ( !feof( fl ) ) {
      for ( j = 0; j < lBlock; j++ )
         buf[j] = '\0';
      fread( buf, lBlock, 1, fl );
      ++i;
   }

   printf( "File size = %d bytes\n", lBlock*(i-1)+strlen( buf ) );

   return 0;

}
Vago вне форума Ответить с цитированием
Старый 14.02.2010, 00:27   #14
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

да, спасибо за программу. В принципе я и сам мог ее написать. Только надо было узнать , что такое блок. Ну, все равно спасибо. Осталось переделать через ООП, или самому написать. Скорее всего сам напишу.)) ))
And_DaviD вне форума Ответить с цитированием
Старый 14.02.2010, 01:38   #15
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

Код:
#include <iostream>
#include <string.h>
#include <fstream>

using namespace std;

int main ()
{
		
	ifstream Fin("test.txt");

	if (!Fin)
	{
		ofstream Fout ("test.txt");
		Fout << "Defnition 1. Let k be a feld. A rational function in t1,..., tm with coefficients in k is a quotient f/g of two polynomials f, g   k[t1,..., tm], where g is not the zero polynomial. Furthermore, two rational functions f/g and h/k are equal, provided that kf = gh in k[t1,..., tm]. Finally, the set of all rational functions in t1,..., tm with coefficients in k is denoted k(t1,..W., tm).";
		Fout.close();
	}else{
		Fin.close();
	}
	int c=0;
	char str[1000];
	ifstream in ("test.txt");
	while (!in.eof())
	{				
	
		in.read(str,10);
		c += in.gcount();
	
	
		
				
	}	
	cout.clear();
	cout << "Simvolov schitano: " << c <<endl;
		
	in.close();

return 0; 
}
Вот, работает. Как все просто оказалось ))) Осталось переделать прогу, чтобы считало без пробелов. НУ, думаю, надо будет использовать функцию ignore ();

Последний раз редактировалось And_DaviD; 14.02.2010 в 01:53.
And_DaviD вне форума Ответить с цитированием
Старый 14.02.2010, 10:10   #16
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Извиняюсь за оффтоп, но такое я впервые слышу
Цитата:
А файл - то должен быт ьзаписан в двоичном режиме, чтобы его читать в двоичном
Интересно, про какие такие режимы идет речь?! Все хранится (для программиста) в байтах (только не надо говорить, мол, а там сектора, цилиндры и другие вумные слова). Т.е. будь то бинарный, типизированный, текстовый и какой угодно другой файла с интересным наименованием, все это - бинарный файлы.
BOBAH13 вне форума Ответить с цитированием
Старый 14.02.2010, 13:52   #17
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
Извиняюсь за оффтоп, но такое я впервые слышу

Интересно, про какие такие режимы идет речь?! Все хранится (для программиста) в байтах (только не надо говорить, мол, а там сектора, цилиндры и другие вумные слова). Т.е. будь то бинарный, типизированный, текстовый и какой угодно другой файла с интересным наименованием, все это - бинарный файлы.
Эмм... ну имеется ввиду, если открыть блокнотом двоичный файл и обычный текстовый, то даже если в них записывалось одинаковое содержимое, выглядеть это содержимое в блокноте будет по разному.
MaTBeu вне форума Ответить с цитированием
Старый 14.02.2010, 14:36   #18
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
Интересно, про какие такие режимы идет речь?!
Ну, этим словом, просто, заменили термин "способ доступа" Но, в принципе, Вы, конечно, всё правильно написали. Кроме одного слова, "для программиста". Не для программиста, а для операционной системы или даже, точнее, для подсистемы ввода-вывода языка программирования. Программист-то, как раз только рад облегчению своей жизни, и для языка высокого уровня нормальным будет - пойти ему, программисту, навстречу, взяв на себя часть черновой работы. Кроме того, пока человек осваивает самые азы программирования, и даже простенький алгоритм для него составить - проблема, просто логично освободить его от необходимости ещё и самому парсить входной поток А вот со временем (и, наверное, для автора темы это время подходит, раз ему такую лабу дали) ему, программисту, нужно-таки спуститься (хотя бы на время) на более низкий уровень и понять, что и fsanf(), и fgets(), и fread() - это всё элементы одной, продуманной, системы. Понять, что стоИт за "удобствами", предоставленными ему scanf'ами и gets'ами, и что он потеряет, и что приобретёт, и что ему теперь придётся делать самому, ежели он решит читать файл read'ами. Ну а насколько эта "диалектика" стройно уложится у него в голове - это уже не от нас с Вами зависит...
Vago вне форума Ответить с цитированием
Старый 14.02.2010, 14:50   #19
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

Народ, не парьтесь вы так. Сохраняте силы. Мне еще штук 50 программ надо написать ))) И это тока по ООП ))
And_DaviD вне форума Ответить с цитированием
Старый 14.02.2010, 15:18   #20
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Как меня защитили-то
Да, это и имел ввиду, что блокнот даст иной результат
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами cr1mson Общие вопросы C/C++ 7 14.01.2009 22:42
Работа с файлами МартинИ Паскаль, Turbo Pascal, PascalABC.NET 3 23.12.2008 21:36
Работа с файлами DM_bite Помощь студентам 4 20.09.2008 16:52
Работа с файлами Acros Помощь студентам 5 14.02.2007 18:40