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

Строковый ввод-вывод - C++

Восстановить пароль Регистрация
 
Мирон1
-28 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
01.12.2015, 13:59     Строковый ввод-вывод #1
Добрый день,помогите пожалуйста с программой
1. Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
2. Скопировать из файла F1 в файл F2 строки, начиная с 4.
3. Подсчитать количество символов в последнем слове F2
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "stdafx.h"
#include<iostream>
#define _USE_MATH_DEFINES 
#include <cmath>
#include <cstdio>
#include <fstream>
#include <iomanip>
#include<conio.h>
#include <windows.h>
#include <stdio.h>
#include <fstream>
#include <stdlib.h>
using namespace std;
 
void record(int n, FILE *);
void show(FILE *, char *);
void copy(FILE *, FILE *, char *);
int main()
{
    setlocale(0, "");
    const int n = 2550;
    FILE *f1; // указатель на 1 файл
    FILE *f2; // аналогично
    char text[n]; // массив символов куда запись инфы
    cout << "Введите 10 строк" << endl;
    record(n, f1); // запись строк в файл f1
    show(f1, text); // показ
    system("pause");
 
    return 0;
void record(int n, FILE *f1)
{
    char *str = new char[n];
    f1 = fopen("f1.txt", "w");    // открываем файл f1 для записи
    cin.get(str, n, '*');  // ввод до тех пор, пока не введем *
    fputs(str, f1); // запись в файл
    fclose(f1); // закрываем
}
void show(FILE *f1, char *text)
{
    system("cls");
    // функция показа записей
    int i = 0; // счетчик строк
    char *real_tail;
    f1 = fopen("f1.txt", "r"); // файл для чтения
    if (f1 == NULL)
    {
        perror("Создайте файл f1.txt");
    }
    while (fgets(text, 2550, f1)) // считываем файл построчно
 
    {
        real_tail = "";
        printf("Строка %d: ", ++i);// покажем номер строки
 
        if (text[strlen(text) - 1] == '\n')//проверяем является ли последний элемент
                                           //   в строке символом ее окончания
                                           // strlen-1 т.к последний символ - это \n
        {  // если является, то
 
            text[strlen(text) - 1] = '\0'; // конец строки
        }// эта часть кода добавлена лишь для
         // отображения символа конца строки в консоль без перевода на новую строку
 
        printf("%s%s\n", text, real_tail); // а теперь выводим строку
 
    };
 
    fclose(f1);  // закрываем
}
void copy(FILE *, FILE *, char *){
f1 = fopen("f1.txt", "r"); // для считывания файл 1
if (f1 == NULL)
{
    perror("Создайте файл f1.txt");
}
f2 = fopen("f2.txt", "w");  // для записи файл 2
if (f2 == NULL)
{
    perror("Создайте файл f2.txt");
}
}
Первый пункт сделан вроде,а второй и третий не получается никак,не знаю что делать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2015, 13:59     Строковый ввод-вывод
Посмотрите здесь:

C++ Строковый ввод-вывод и считывание последнего слова в строке
C++ Строковый ввод-вывод
Строковый ввод-вывод C++
Нужна Помощь! Строковый ввод-вывод! C++
Строковый ввод-вывод C++
Строковый ввод-вывод C++
Строковый ввод-вывод C++
Строковый ввод-вывод C++

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

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

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