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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.79
S2dent
52 / 50 / 6
Регистрация: 10.05.2009
Сообщений: 216
#1

Удаление лишних пробелов - C++

20.05.2009, 19:53. Просмотров 3350. Ответов 2
Метки нет (Все метки)

И снова здравствуйте, Господа эксперты. Помогите пожалуйста Удалить в тексте лишние пробелы. Данные считать из файла и вывести в файл. Вот начало кода, но я не знаю как удалить пробелы:
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
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define Max 250
 
void main()
{
        File *F;
        int i,CountOfString,p;
        char Massiv[Max],NameFileIn[20],NameFileOut[20]
        printf("Введите имя входного файла ");
        scanf("%s",NameFileIn);
        if ((F=fopen(FNameFileIn,"r"))==0)
        {
          perror("Ошибка! Файл "<<NameFileIn<<"не найден!");
          printf("Введите имя входного файла ");
          scanf("%s",NameFileIn);
        }
        while ((CountOfString=getc(F))!=Eof)
        {
          Massiv[i]=CountOfString;
          i++;
        }
        fclose(F);
 
        printf("Введите имя выходного файла ");
        scanf("%s",NameFileOut);
        F=fopen(NameFileOut,"a");
Заранее огромное спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2009, 19:53     Удаление лишних пробелов
Посмотрите здесь:

Удаление лишних пробелов в начале и конце строки. C++
Удаление пробелов C++
C++ Удаление лишних пробелов с помощью вспомогательного массива
C++ Удаление лишних пробелов
Удаление лишних пробелов C++
удаление пробелов C++
C++ Фиксированная точка в printf() и удаление лишних нулей
Удаление лишних символов C++
Удаление лишних (подряд идущих) разделителей при разделении строки C++
C++ Рекурсия. Удаление лишних пробелов
C++ Удаление лишних пробелов
Реализовать функцию UnSpace(s), возвращающую строку, полученную удалением из исходной всех лишних пробелов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.05.2009, 03:13     Удаление лишних пробелов #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* SqueezeCharLine:  удаляет из l повторы символа ch
                     возвращает количество удалённых */
int SqueezeCharLine(char *l, int ch)
{
    char *p, *q;
        
    if (l == NULL)
        return EOF;
    for (p = q = l; (*p = *q) != '\0'; p++, q++)
        if (*p == ch)
            while (*(q+1) == ch)
                q++;
    return q-p;            
}
это функция для удаления повторов определённого символа из строки и пример

можно организовать построчное чтение файла и вызов этой функции для каждой прочитанной строки перед её выводом в файл
Вложения
Тип файла: zip squeeze_char.zip (560 байт, 78 просмотров)
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.05.2009, 03:15     Удаление лишних пробелов #3
можно сделать посимвольное чтение с флажком, но оно будет бесполезно потом (то есть чисто для знаний пригодится и всё)
Yandex
Объявления
21.05.2009, 03:15     Удаление лишних пробелов
Ответ Создать тему
Опции темы

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