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

Работа с файлами. Вывод нечетных строк с указанием номеров строк - C++

Войти
Регистрация
Восстановить пароль
 
AlenaShch
0 / 0 / 0
Регистрация: 06.10.2012
Сообщений: 29
21.04.2013, 01:02     Работа с файлами. Вывод нечетных строк с указанием номеров строк #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
#include "stdafx.h"
#include "stdlib.h"
#include <stdio.h>
#include <locale>
#include <iostream>
using namespace std;
 
 
int main(int argc,char *argv[])
{setlocale (LC_ALL,"Russian");
FILE *fn;
char c;
 
/*if(argc==1)
    {printf("\n Не указано имя файла\n");
    exit(1);
    }*/
fn=fopen("c:\\ukazat.txt","r"); /*Открываем файл на чтение, как текстовый. argv[1] указывает на строку с именем файла*/
 
if (fn==NULL)
    {printf("\nФайл не найден\n");
    exit(1);
    }
 
int i=1;
 
while((c=fgetc(fn))!=EOF) /*Чтение символа из потока*/
    {if (c=='\n')
        cout<<"\rСтрока "<<i++<<'\t';
        cout<<c;    /*Вывод символа на экран*/
            
    }
fclose(fn); /*Закрытие файла*/
printf("\n\n\n");
return 0;
}
Тут проблема с выводом: хочу, чтобы в начале был номер строки, а потом строка. Но, если так делаю, то "строка" пишется поверх текста из файла.
Как я понимаю, для того, чтобы разделить строки на четные/нечтные, надо создать массивы каждой строки из отдельных символов. Как это сделать?

C++
1
2
3
4
5
6
7
8
9
while((c=fgetc(fn))!=EOF) /*Чтение символа из потока*/
        {if (c=='\n')
        i++; //Считаем, сколько строк в файле
    }
 
for (n=1;n<i;n++)   
            {while(c!='\n')
        str=str+c;
    }
Тут неправильно. Не понимаю, как сделать, потому что у "с" нет квадратных скобок, где бы указывалось от чего оно. Были попытки склеить строку через strcpy, но не получилось, потому что "c" - это не константа, а там требуется константа.
Посоветуйте что-нибудь, пожалуйста!

Еще не работает программа с тем, что забрано в комментарии, если это вернуть обратно:

C++
1
2
3
4
/*if(argc==1)
    {printf("\n Не указано имя файла\n");
    exit(1);
    }*/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 01:02     Работа с файлами. Вывод нечетных строк с указанием номеров строк
Посмотрите здесь:

C++ Строки, работа с файлами и массивами строк
C++ Работа с файлами и массивами строк
Обработка строк и работа с файлами... C++
C++ Не получается заполнение двумерного массива случайными числами с указанием количества строк и столбцов.
C++ Элементы матрицы, стоящие на пересечении нечетных строк и нечетных столбцов, заменить переменной
Элементы матрицы, стоящие на пересечении нечетных строк и нечетных столбцов заменить переменной P C++
C++ Элементы матрицы, стоящие на пересечении нечетных строк и нечетных столбцов заменить переменной P
C++ Работа с файлами C++. Подсчёт строк.
C++ Найти сумму элементов четных строк и произведение элементов нечетных строк массива
C++ Найти минимальный и максимальный элемент матрицы и вывести его на экран с указанием номеров их строк и столбцов.
C++ Пользователь вводит имя файла, программа выводит содержимое файла с указанием номеров строк.
C++ Работа с файлами. Запись и чтение строк

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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