Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 99
1

Заменить все звездочки на пробел

21.03.2013, 01:56. Просмотров 845. Ответов 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
34
35
36
37
38
39
40
41
42
43
44
45
// Uta.cpp//
 
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int _tmain()
{
    struct node
    {
        char text;
        struct node *next;
    };
    typedef node *PNode;
    char help;
    FILE*oldf; 
    FILE*newf;
    PNode Head, f, c;
    f=(node*)malloc(sizeof(node));
    Head=f;
    oldf=fopen("Stars.txt","r");
    newf=fopen("Space.txt","a");
 
    while (feof(oldf)==0)
    {
        fscanf(oldf, "%c", &help);
        
        if (help=='*')
            help=' ';
        f->text=help;
        if (f->text=='\n')
        {
            fprintf(newf, "%s", f->text);
            free(f); free(Head);
            Head=(node*)malloc(sizeof(node));
        }
        c=(node*)malloc(sizeof(node));
        f->next=c;
        f=c;
    }
    fclose(oldf);
    fclose(newf);
    getch();
}
Написал что-то, но не работает, прошу помочь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2013, 01:56
Ответы с готовыми решениями:

В введенном тексте заменить все цифры на пробел
написать программу которая в введенном тексте заменяет все цифры на пробел

Ввести строку с клавиатуры. Заменить все пробелы идущие подряд на один пробел
Ввести строку с клавиатуры. Заменить все пробелы идущие подряд на один пробел. Прошу помощи, т.к....

Заменить в строке все точки на звездочки: ‘.’ – ‘*’
Заменить в строке все точки на звездочки: ‘.’ – ‘*’

Заменить в строке все гласные на звездочки
Ввести строку с клавиатуры. Заменить все гласные на звездочки.

3
Почетный модератор
7356 / 2619 / 275
Регистрация: 29.07.2006
Сообщений: 13,674
21.03.2013, 02:38 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    FILE *in = fopen("1", "r");
    FILE *out = fopen("2", "w");
    char *buffer = (char*)malloc(4096), *c;
    while(!feof(in))
    {
        if((c = fgets(buffer, 4096, in)) == 0) break;
        do if(*c=='*') *c=' '; while(*c++);
        fputs(buffer, out);
    }
    free(buffer);
    fclose(in);
    fclose(out);
}
1
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 99
21.03.2013, 03:10  [ТС] 3
Спасибо оргомное! Можно бы ещё объяснить тело цикла. Небольшой

Добавлено через 47 секунд
И хотелось бы узнать, где может крыться ошибка в моей программе.
0
Почетный модератор
7356 / 2619 / 275
Регистрация: 29.07.2006
Сообщений: 13,674
21.03.2013, 17:00 4
Цитата Сообщение от Лев Борисов Посмотреть сообщение
Можно бы ещё объяснить тело цикла.
Читаем строку из файла (либо то, что сможем в кол-ве 4095) Идем циклом по считанной строке, используя указатель, и заменяем символ звездочки. Потом полученную строку записываем в другой файл.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2013, 17:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Заменить все восклицательные знаки на символ звездочки
Заменить все восклицательные знаки («!») на символ «*», а символ «точка» («.») – многоточием (три...

Сколькими способами можно заменить все звёздочки на цифры?
Сколькими способами можно заменить все звёздочки на 3 чётных и 3 нечетных цифры (не обязательно...

Заменить в тексте все слова, в которых есть хоть одна цифра, на звездочки
Помогите! Задание такое: заменить в тексте все слова в которых есть хоть одна цифра на звездочки)

Заменить все вхождения символа «пробел» на два символа «пробел»
Дана строка символов. Заменить все вхождения символа «пробел» на два символа «пробел».

Дана строка,заменить все числа в ней на звездочки(для этого используйте метод replace)
Дана строка,заменить все числа в ней на звездочки(для этого используйте метод replace)

В строке в словах заменить все символы слова, стоящие после комбинации #+цифра+денежная единица на 3 звездочки
Помогите пожалуйста с этой задачкой : В исходной строке в словах заменить все символы слова,...


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

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

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