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

Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
03.04.2011, 22:24     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #1
Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры (с сохранением исходного взаимного порядка, как среди цифр, так и среди остальных литер строки).
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
#include "stdafx.h"
#include "fstream"
#include "stdio.h"
#include <locale>
#include "func.h"
#include <iostream>
using namespace std;
int main()
{
 
int kol=0,i=0;
char buf[60],buff[60],h;
 
setlocale(LC_CTYPE,"Russian");
//Node *pbeg=first(1);
//Node *pend=pbeg;
//Node *pbeg1=first(1);
//Node *pend1=pbeg1;
int n,j,k,l,r,d,v,u;
char a;
 
    FILE *f;
    FILE *g;
    f=fopen("f.txt","r");
    g=fopen("g.txt","w");
while(fgets(buf,40,f)!=NULL)
{l=0;d=0;k=0;int fsize=strlen(buf);cout<<fsize<<"_f "<<endl;
for(v=0;buf[v]!='\0';v++){cout<<v<<endl;}
    for(i=0;i<v;i++)
    {
        if(buf[i]=='0'||buf[i]=='1'||buf[i]=='2'||buf[i]=='3'||buf[i]=='4'||buf[i]=='5'||buf[i]=='6'||buf[i]=='7'||buf[i]=='8'||buf[i]=='9')
        {
            /*add(&pend,buf[i]);*/
            k++;
            buff[d]=buf[i];d++;
            for(j=i;j<v;j++)
            {buf[j]=buf[j+1];}i--;
        }
    }for( r=0;r<k;r++){cout<<buff[r]<<"("<<r<<") ";}cout<<"vse  ";
    for(u=0;buf[u]!='\0';u++){cout<<u<<"_u"<<endl;}
    for(i=0;i<u;i++)
    {
        fputc(buf[i],g);
        if(i+2==u&&l!=5){for(int p=0;p<k;p++)fputc(buff[p],g);l=5;}
    }   
}
    return 0;
}
Добавлено через 15 минут
Файл f:
h7r4eesd87fsdf8sdf8d
sdhfsd87fsd8f7sdf8sd7fs7df87sd
sdjgfvs876dfcdsfdsf9sdffsdfcsdf
sdfsdfysdftsdfsdf8787df8s7df
f4d3o23f
f4d3k0o23f
df7d3sfs0t7
Файл g:
hreesdfsdfsdfd748788
sdhfsdfsdfsdfsdfsdfsd878787787
sdjgfvsdfcdsfdsfsdffsdfcsdf8769
sdfsdfysdftsdfsdfdfsdf878787
fdof4323
fdkof43023
dfdsfs7307t
вся проблема в последней строке..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2011, 22:24     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g
Посмотрите здесь:

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++) C++
C++ Что не так? Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры.
C++ Из текстового файла переписать информацию в другой текстовый файл
Переписать содержимое F1 в файл F2, разбив на строки C++
C++ Как содержимое файла *.txt переписать в двоичном коде в другой файл?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sum42
 Аватар для Sum42
78 / 10 / 2
Регистрация: 11.10.2010
Сообщений: 87
03.04.2011, 23:41     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #2
C++
1
(buf[i]=='0'||buf[i]=='1'||buf[i]=='2'||buf[i]=='3'||buf[i]=='4'||buf[i]=='5'||buf[i]=='6'||buf[i]=='7'||buf[i]=='8'||buf[i]=='9')
почему не так
C++
1
(buf[i]>='0' && buf[i]<='9')
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
06.04.2011, 01:25  [ТС]     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #3
в момент написания этот вариант почему-то не рассматривался), есть идеи как сделать его рабочим?(см задание и пример)
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
10.04.2011, 22:27  [ТС]     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #4
ну вот хоть бы кто отписал..
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.04.2011, 23:03     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #5
Цитата Сообщение от Bleize Посмотреть сообщение
Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры (с сохранением исходного взаимного порядка, как среди цифр, так и среди остальных литер строки).
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
#include <iostream>
#include <string>
#include <iterator>
#include <fstream>
#include <cctype>
 
int main(){
  std::ifstream ifs("f.txt");
  std::ofstream ofs("g.txt");
  if(!ifs){
    std::cerr << "File not found" << std::endl;
    return 1;
  }
  std::string buf;
  while(getline(ifs, buf)){
    std::string _buf = "";
    for(std::string::iterator it = buf.begin(); it != buf.end(); ++it)
      if(isdigit(*it)){
        _buf += *it;
        buf.erase(it);
        --it;
      }
    ofs << buf << _buf << '\n';
  }
  return 0;
}
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
10.04.2011, 23:43  [ТС]     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #6
Оо, спасибо, конечно, мб объяснишь что делается в этих строках, расширю кругозор)
C++
1
2
3
4
5
6
7
std::string _buf = "";
    for(std::string::iterator it = buf.begin(); it != buf.end(); ++it)
      if(isdigit(*it)){
        _buf += *it;
        buf.erase(it);
        --it;
      }
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.04.2011, 23:48     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #7
Идем по очередной строке из входного файла и если символ цыфра - сначала добавляем его в строку из нашых цыфр, затем удаляем.
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
10.04.2011, 23:56  [ТС]     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #8
насколько я догадываюсь isdigit это "если цифра", судя по "iterator" используются ранее неисследуемые мною итераторы, вообщем всё ещё впереди), если бы ты написал комментарий к каждой строке, было бы здорово
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 00:09     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g
Еще ссылки по теме:

C++ Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания C++
C++ Переписать содержимое очереди в текстовый файл

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

Или воспользуйтесь поиском по форуму:
Bleize
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 26
14.04.2011, 00:09  [ТС]     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g #9
спасибо, разобрался
Yandex
Объявления
14.04.2011, 00:09     Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g
Ответ Создать тему
Опции темы

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