Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 13
1

Работа с файлами. Удалить все лишние пробелы, оставив между словами не более одного пробела

17.01.2013, 17:26. Показов 2713. Ответов 5
Метки нет (Все метки)

Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного пробела. Результат поместить в новый файл.
Помогите пожалуйста программа нужна срочно и сегодня!

Добавлено через 8 минут
Цитата Сообщение от Dante_94 Посмотреть сообщение
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного пробела. Результат поместить в новый файл.
Помогите пожалуйста программа нужна срочно и сегодня!
Ещё есть код этой программы на Паскале:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var f,g:text;
     s:string;
     i:byte;
begin
assign(f,'input.txt');
reset(f);
assign(g,'output.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  while pos('  ',s)>0 do delete(s,pos('  ',s),1);{в апострофах по 2 пробела}
  writeln(g,s);
 end;
close(f);
close(g);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2013, 17:26
Ответы с готовыми решениями:

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного...

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
Помогите пожалуйста срочно решить задачу.............. Дан текстовый файл. Удалить из него все...

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
Доброго времени суток. Помогите пожалуйста решить задачу: Дан текстовый файл. Удалить из него все...

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
5
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
17.01.2013, 17:44 2
Dante_94, а в чем собственно проблема?
создает входной файловый поток, открываем файл и в цикле по нему проходимся. все пишем в строку. Потом эту строку пишем в новый файл
1
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 13
17.01.2013, 17:52  [ТС] 3
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Dante_94, а в чем собственно проблема?
создает входной файловый поток, открываем файл и в цикле по нему проходимся. все пишем в строку. Потом эту строку пишем в новый файл
Спасибо но мне код программы нужен.
0
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
17.01.2013, 18:00 4
Dante_94,

Не по теме:

А мне нужен рейлган, но я его не требую.

0
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 13
17.01.2013, 18:26  [ТС] 5
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Dante_94, а в чем собственно проблема?
создает входной файловый поток, открываем файл и в цикле по нему проходимся. все пишем в строку. Потом эту строку пишем в новый файл
Пожалуйста напишите код программы. Я просто не особо разбираюсь в работе с файлами.
0
Don't worry, be happy
16986 / 9864 / 1900
Регистрация: 27.09.2012
Сообщений: 24,461
Записей в блоге: 1
17.01.2013, 18:48 6
Как вариант:
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
#include <fstream>
void Trim_SD(char * dest, char * source){
    for(char *p1=source,*p2=dest; (*p2=*p1);++p1,++p2){
        if(*p1!=' ') continue;
        for(;*p1==' ';++p1);
            p2+=(p2==dest || !(*p1))?0:1;
            *p2=*p1;
    }
}
int main(){
    char * str;
    std::fstream file("input.txt",std::ios::in | std::ios::binary);
    file.seekg(0,std::ios::end);
    fpos_t size=file.tellp();
    file.seekg(0,std::ios::beg);
    str=new char[size+1];
    file.read(str,size);
    str[size]=0;
    file.close();
    Trim_SD(str,str);
    file.open("output.txt",std::ios::out | std::ios::binary);
    file.write(str,strlen(str));
    return 0; 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2013, 18:48

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

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
помогите исправить ошибку при сохранении файла: условие задачи: Дан текстовый файл. Удалить из...

Удалить из файла все лишние пробелы, оставив между словами не более одного пробела
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного...

Файл: Удалить из файла все лишние пробелы, оставив между словами не более одного пробела.
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного...

Удалить из текстового файла все лишние пробелы, оставив между словами не более одного пробела
Дано вот такое задание: Дан текстовый файл. Удалить из него все лишние пробелы, оставив между...


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

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

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