Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 18:21   #1
xaloooooo
Пользователь
 
Регистрация: 10.05.2012
Сообщений: 12
По умолчанию Работа с файлами

Дан файл te.txt
В каждой строке заменить последовательность слов "odin dva tri" на "1-2-3".
Смог написать только с записью в другой файл. Как в одном файле сделать замену незнаю
PHP код:
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "malloc.h"
#include "string.h"




int _tmain(int argc_TCHARargv[])
{
    return 
0;
}

void main ()
{
FILE *F,*F2;
int i,b,c,a=0;
char s[80],n[]="odin dva tri",z[]="1-2-3",buf[80];
fopen "te.txt""r" );
if ( 
NULL == fgets s80) )
{
    
printf ("fail ne moget bit prochitan");
}
else
{
    
printf ("          ISHODNI FAIL \n______________________________\n");
    
fopen "te.txt""r" );
    while ( 
NULL != fgetss80))
    {
        
printf ("%s");
    }
    
printf ("\n______________________________\n");
    
printf ("          IZMENENNI FAIL \n______________________________\n");
    
fopen "te.txt""r" );
    
F2 fopen "t.txt""w+" );
    while ( 
NULL != fgetss80))
    {
        
b=strlen(s);
        for(
i=0;i<b;i++)
        {
            if(
s[i]!='o')
                
fprintf(F2,"%c",s[i]);
            else
            {
                
c=i;
                for(
c;s[c]!='\0';c++)
                {
                    
buf[a]=s[c];
                    
a++;
                }
                
a=0;
                if ( 
== strncmp(bufn12) )
                {
                    
fprintf(F2,"%s",z);
                    
i=i+11;
                }
                else
                    
fprintf(F2,"%c",'o');
                
            }
        }
    }        
    
}
fclose F2 );
fopen "t.txt""r" );
    while ( 
NULL != fgetss80F2 ))
    {
        
printf ("%s");
    }
fclose );

    
getch();

xaloooooo вне форума Ответить с цитированием
Старый 10.05.2012, 18:26   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

удалите старый файл (remove)
переименуйте новый (rename)
f.hump вне форума Ответить с цитированием
Старый 10.05.2012, 19:02   #3
xaloooooo
Пользователь
 
Регистрация: 10.05.2012
Сообщений: 12
По умолчанию

Совет хорош =)
вставил перед getch
remove ("te.txt");
rename ("t.txt","te.txt");

но файлы не удалились
Но это не то чего я хотел добиться.
нужно работать именно в одном файле

Последний раз редактировалось xaloooooo; 10.05.2012 в 19:09.
xaloooooo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами wOOp Помощь студентам 14 12.04.2012 09:52
Работа с файлами на Си romant1komg Помощь студентам 0 01.02.2012 21:31
Работа с файлами на С# Darh Помощь студентам 6 11.06.2010 03:00
работа с файлами Анюта01 Фриланс 8 19.03.2010 22:41
Работа с файлами newkobra Общие вопросы C/C++ 9 15.03.2010 22:03