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

Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование для телефонов или смартфонов http://www.cyberforum.ru/cpp-beginners/thread687817.html
Привет, меня интересует вопрос на какие из этих платформ можно писать приложение на visual studio 1.Android 2.IOS 3.Symbian И все. И еще по подробней как писать под ios если не на vs
C++ Обработать строки, пользуясь указателями Помогите решить, заранее спасибо: Вводится строка в символьный массив размером 80. Задание: Рядом с заданным пользователем символом записать такой же. Запрещается использовать дополнительные... http://www.cyberforum.ru/cpp-beginners/thread687785.html
Компилятор для новичка C++
будь ласка, дайте (порекомендуйте) компилятор, которым пользуетесь, для новичка, у меня установлен: rad studio, vs studio 2012, vs studio 2010, vs studio, 2008 Turbo C.
C++ Почему не определяются cout, cin, endl, system?
int i,n,k1,k2; float min,s=0; cout<<" n="; cin>>n; float* a=new float ; cout<<" Enter elements: "; for(i=0;i<n;i++) cin>>a; min=a; for(i=1;i<n;i++)...
C++ Нарисовать, эллипс движущийся по координатам, с помощью таймера http://www.cyberforum.ru/cpp-beginners/thread687751.html
при помощи таймера пытаюсь нарисовать эллипс движущийся по координатам fx=0; fy=-mas*g; vx=vx+fx*time/mas; vy=vy+fy*time/mas; ...
C++ Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { int i,j, n; int numMaxFirst, count=0, summ=0; int *arr; printf("Enter numbers: "); // вводим... подробнее

Показать сообщение отдельно
JoQees
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 13

Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку - C++

03.11.2012, 20:50. Просмотров 1551. Ответов 1
Метки (Все метки)

Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку. Имя файла должно передаваться в программу в виде аргументов командной строки.
вот код

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//---------------------------------------------------------------------------
 
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MAXN 1000
 
//---------------------------------------------------------------------------
void main(int argc, char* argv[])
{
 if(argc != 2)
  {
   printf("ENTER FILE NAMES FIRST!!!\n");
   return;
  }
 FILE *input = fopen(argv[1],"rt");
 if(!input)
 {
  printf("ERROR FILE NOT OPENED!!!\n");
  return;
 }
 
 int maxLen = 0;
 char *str = new char[MAXN];
long seek = 0;
 
 
 while(!feof(input))
 {
        fgets(str, MAXN, input);
 
        int len = strlen(str);
        if(len > maxLen)
        {
                maxLen = len;
                seek = ftell(input) - maxLen  ;
        }
 }
 
fseek(input, seek, SEEK_SET);
 fgets(str, MAXN, input);
 printf("%s", str);
 fclose(input);
 
 system("PAUSE");
}
//---------------------------------------------------------------------------

Программа выводит самую большую строку, но стирает первый символ этой строки, исправьте что не так пожалуйста)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru