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

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

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

C# C++ Задача поиск определенного символа в строке, запись того что после него в дргую строку - C++

22.03.2013, 01:24. Просмотров 897. Ответов 1
Метки нет (Все метки)

Вот пошагово:

1)Создать файл из символов, последний символ *(маркер)
2)После маркера записать ешё некоторое кол-во символов
3) ДАлее анализируя файл мы в новый файл должны переписать то что мы сделали во втором пункте.
PS Все файлы их названия вводятся с клавиатуры непосредственно в самой программе.

Пока как то так. Адская смесь C# и C++ Пишу вот в таком стиле:
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
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include <fstream> 
#include<stdio.h>
using namespace std; 
void create(char *s,int &n);
void sort(char *s,char *s1);
void view(char *s1);
 
void main()
{
char s[20],s1[20];
printf("input file names:\n");
        flushall();
    gets(s);
    flushall(); //Удаляет лишнее из буфера
    gets(s1);
    int n;
    printf("Input numbers: \n");
    create(s,n); //Функция создания
    sort(s,s1);
    view(s);
    printf("\n");
    view(s1);
    
    getch();
}
void create(char *s,int &n)
{
    int a;
    FILE *f=fopen(s,"wb");
    printf("Input n: ");
    scanf("%d",&n);
    printf("Input numbers: \n");
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a);
        fwrite(&a,sizeof(int),1,f);
    }
    fclose(f);
}
void sort(char *s,char *s1)
{
int *a;
FILE *f=fopen(s,"rb");
FILE *f1=fopen(s1,"wb");
??????????????????????????????????????????????????
fclose(f);fclose(f1);
}
void view(char *s1)
{
int a;
    FILE *f1=fopen(s1,"rb");
while(fread(&a,sizeof(int),1,f1))
 printf("%d ",a);
fclose(f1);
}
Интересует написание функции sort, знаю что можно как то через strchr, так же преподаватель говорил про динамический массив, что то про fseek и ftell, не представляю как связать это, ищу помощи. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2013, 01:24     C# C++ Задача поиск определенного символа в строке, запись того что после него в дргую строку
Посмотрите здесь:
C++ Функция разбивает строку на две части: до первого вхождения заданного символа и после него
Поиск символа а и А в строке после пробела C++
C++ Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
Как обрезать строку типа wchar_t* до определенного символа? C++
C++ Если в строке есть элемент, равный среднему арифметическому элементов этой строки, то вставьте после него строку, состоящую из этих элементов
Если в строке есть элемент, равный среднему арифметическому элементов этой строки, то вставьте после него строку, состоящую из этих элементов C++
C++ Вывод части строки после определенного символа
C++ Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Рразделение строки на две части до первого вхождения заданного символа и после него C++
C++ Поиск символа в строке
C++ Поиск позиции символа в строке
C++ Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
22.03.2013, 03:05     C# C++ Задача поиск определенного символа в строке, запись того что после него в дргую строку #2
Предложения по программе:
1. В постановке задачи речь идет о записи символов и поиске символа, поэтому открывайте файлы
в режиме текста "rt" и "wt", для записи и чтения используйте символьные переменные char.
2.Последовательность действий программы:
- создаем файл #1
- пишем в него последовательность символов считанных с консоли
- пишем в файл символ '*'
- пишем еще символов в файл с консоли
- закрываем файл #1
- открываем файл #1 на чтение и создаем файл #2 на запись
- функцией fseek устанавливаем текущую позицию в конец файла #1
- функцией ftell получаем размер (size1) файла #1 в байтах
- выделяем в памяти динамич. массив Mass типа char размером size+1
- функцией fseek устанавливаем текущую позицию в начало файла #1
- читаем из файла #1 все символы в массив Mass
- находим в Mass позицию pos символа '*' функцией strchr
- пишем все символы из Mass c позиции pos+1 в файл #2
-закрываем файлы. всё
Ответ Создать тему
Опции темы

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