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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2012, 20:35   #1
fasty
Пользователь
 
Регистрация: 09.11.2011
Сообщений: 25
Сообщение Чтение строки из файла

необходимо прочитать строку символов из файла
при этом нельзя использовать индексацию, необходимо использовать указатели
Код:
// лаба2.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string>
using namespace std;
void main()
{int i=0;
	setlocale( LC_ALL,"Russian");
	 char *str;
	fstream f; f.open ("C://proga/in.txt", ios::in);
  if (!f){cout << "Невозможно открыть файл для чтения" << endl;}  else
  {
	  while(f.eof())
	  {
f >> *str;
cout << "Считана строка" << *str << endl;
*str++;
	  }

  }
	system("pause");
}
почитал по поводу адресной арифметики, но что то не получается..
fasty вне форума Ответить с цитированием
Старый 02.03.2012, 23:30   #2
Cigno
 
Регистрация: 20.06.2011
Сообщений: 6
По умолчанию

f.getline(str,MAX_LINE);
И, наверно, имелось в виду: while(!f.eof())
Cigno вне форума Ответить с цитированием
Старый 02.03.2012, 23:56   #3
fasty
Пользователь
 
Регистрация: 09.11.2011
Сообщений: 25
По умолчанию

getline работает с классом string, а надо именно с массивом типа char
вот весь вечер про*бался и сделал
Код:
#include "stdafx.h"
#include <malloc.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{	
	setlocale( LC_ALL,"Russian");
	FILE *fp;
    int c;
    fp = fopen("C://proga/in.txt", "r");
	int sl=1;
	char nc;
	char *ns=(char*)malloc(1*sizeof(char));
	while((nc = fgetc(fp)) != EOF)
	{
		ns[sl-1]=nc;
		ns=(char*)realloc(ns,++sl);
	}
	ns[sl-1]=0;
cout << "считанная строка:" << endl << ns << endl;
cout << strlen(ns) << endl;

system("pause");
}
fasty вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение строки с файла, разбиение на лексемы и вывод по алфавиту(Си) Epic_Lamer Помощь студентам 3 10.12.2011 12:21
Чтение длинны строки из файла R4peMe Помощь студентам 1 21.02.2011 13:30
Строки, сравнение, чтение из файла Matfeya Общие вопросы C/C++ 5 25.01.2011 16:53
чтение определенной строки из файла. Serjuk Общие вопросы C/C++ 12 22.05.2010 13:46
Чтение строки из файла kroŧ Общие вопросы Delphi 4 14.05.2010 15:42