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

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

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

Функция, возвращающая k-ю строку текстового файла - C++

19.12.2012, 11:55. Просмотров 460. Ответов 2
Метки нет (Все метки)

*/ Описать функцию getLine(Name,k) строкового типа, возвращающую k-ю строку текстового файла с именем Name (строки нумеруются от 0). Если файл не существует или не содержит k-й строки, то функция возвращает пустую строку. С помощью этой функции вывести пять строк данного файла с указанными номерами.*
*\
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
30
#include<iostream>
#include<stdio.h>
using namespace std;
void mygetline(FILE * pFile, int k)
{int i;
char *buffer=new char[];
 while ( ! feof (pFile) )
 {
  for (i;i<k;i++)//поочерёдно считывает строки и к-ую строку выводит
     fgets (buffer , 100 , pFile);
 }
 if((buffer!=NULL) &&  ( k>i  )  ) puts(buffer);
 else " ";
    }
 
int main()
{
  FILE * pFile;
  int k; 
  
 pFile = fopen ("D:\\myfile.txt" , "r");
 cin>>k;
   if (pFile == NULL) cout<< ("Error opening file");
   else
   {
     mygetline(pFile,k);
     fclose (pFile);
   }
   return 0;
}
//не могу понять на 2008 компиляторе визуалке все работало сейчас на 2010 я добавил условие .что если к -той СТРОКИ нет выводил бы пробел типо пустутую строку .за мест о этого он сразу выводит типо файл равен нулю (pFile == NULL) cout<< ("Error opening file");
else

Добавлено через 37 секунд
ПОМОГИТЕ ЗАВТРА ГОРИТ СДАВАТЬ А САМ НЕ ПОЙМУ МОДЕТ БЫТЬ Я УКАЗЫВАЮ ПУТЬ К ФАЙЛУ НЕ ПРАВИЛЬНО ХОТЯ НА ДИСКЕ Д СРАЗУ ЛЕЖИТ ФАЙЛ MYFILE

Добавлено через 50 минут
C++ (Qt)
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
30
31
32
33
34
35
#include<iostream>
#include<stdio.h>
using namespace std;
void mygetline(FILE * pFile, int k)
{int i=0;
 char *buffer=new char[];
 while ( ! feof (pFile) )
 {
  for (i;i<k,i++)
fgets (buffer , 100 , pFile);
  }
 if(buffer!=NULL) 
 {
     puts(buffer); 
 }
 else "ERROR";
 }
int main()
{
  FILE * pFile;
  int k;
  pFile = fopen ("myfile.txt" , "r");
    
    cin>>k;
 
  if ((pFile == NULL)&& (k==NULL)) 
  cout<< ("        ");
  else
  {
    mygetline(pFile,k);
    fclose (pFile);
  } 
  system("pause");
  return 0;
 }
///dвот пришел к чему но почему то всегда выводит последнюю строку незнаю почему разве не должно выдавать к-тую строку
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 11:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция, возвращающая k-ю строку текстового файла (C++):

Функция возвращающая фрагмент текстового массива - C++
Добрый день все тем, кто зайдет в эту темку. Есть задачка: Write a function that accepts a character array, a zero-based start...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...

Функция fopen() для большого текстового файла читает только первую строку - C++
Есть текстовой файл 4.5 мб, нужно его открыть для чтения из него строк. FILE *f = fopen(&quot;C:\\members.txt&quot;, &quot;r&quot;); Это мне...

Функция, анализирующая строку и возвращающая число - C++
Как не читала и не пробовала эту прогу реализовать никак не получается... Написать функцию, которая анализирует заданную строку и...

Функция, возвращающая номер самого правого вхождения заданного символа во введенную строку - C++
Нужна помощь в составлении программы: возвращающую номер самого правого вхождения заданного символа во введенную строку. Если символ не...

Удалить строку из текстового файла - C++
Необходимо удалить самую короткую строку из текстового файла. Данные из файла я считал. Переписал в новый файл. Проблема в поиске и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
19.12.2012, 12:17 #2
ан нет подожди
0
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
19.12.2012, 12:25  [ТС] #3
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
30
31
32
33
#include<iostream>
#include<stdio.h>
void mygetline( FILE *pfile,int k)
{char *buffer=new char;
  while ( ! feof (pfile) )//пока конец файла не достигнут
  {
         for (int i=0;i<k;i++)
         {
        fgets (buffer , 100 , pfile) ;
         }
  }
        puts(buffer);
} 
 
int main()
    
{
     FILE *pfile;
  int k; 
  
 
  pfile = fopen ("myfile.txt" , "r");
 std::cin>>k;
   if (pfile == NULL) std::cout<< ("Error opening file");
   else
   { mygetline(pfile,k);
   fclose (pfile);
     
   
   }
   system("pause");
   return 0;
}
ВОТ СОСТАВИЛ КОД НО ОН ПОЧЕМУ ТО ВЫВОДИТ НЕ К-ТУЮ СТРОКУ А ВСЕГДА ПОСЛЕДНЮЮ ХОТЯ ПО СЧЕТЧИКУ INT=0;I<K;I++ ВСЕ НОРМ
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 12:25
Привет! Вот еще темы с ответами:

Считывание из текстового файла в строку - C++
Всем доброго вечера. Кто бы мог помочь мне в написании программы. К сожалению, в си++ я совсем чайник и была бы очень благодарна,если...

Функция чтения столбцов чисел из текстового файла - C++
Необходима функция, которая откроет текстовый файл, прочтет заранее заданное количество столбцов в массив массивов. В файле находятся не...

С текстового файла прочитать строку слов - C++
1.С текстового файла прочитать строку слов. помогите решить очень нужно буду благодарен буду, просто напише код заранее спасибо.

Определить самую короткую строку текстового файла - C++
помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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