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

Подскажите, как очистить файл, после его работы - C++

Восстановить пароль Регистрация
 
master00793
2 / 2 / 0
Регистрация: 25.02.2013
Сообщений: 42
31.05.2013, 14:16     Подскажите, как очистить файл, после его работы #1
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
#include "string.h"
 
void sorting(int * mas,int l)  //сортировка
{
for(int j=0;j<l-1;j++)
    {
        int t;
        for(int i=0;i<(l-1-j);i++)
        {
            if(mas[i]>mas[i+1]) 
            {
                t=mas[i+1];
                mas[i+1]=mas[i];
                mas[i]=t;
            }
        }
    }
};
int _tmain()
{
    srand(time(NULL));
    int mas1[10], mas2[10]; //два массива
    for(int i=0;i<10;i++)  
    {
    mas1[i]=rand()%10;
    mas2[i]=rand()%10;
    }                       //заполнение массивов случайными числами
    sorting(mas1,10);       
    sorting(mas2,10);       //сортировка обоих массивов
    FILE * masF1, * masF2, * masItog; //создаем указатели и ассоциируем их с файлами
    masF1=fopen("mas1.txt","a+"); //открываю первый файл с режимом чтения и записи
    masF2=fopen("mas2.txt","a+"); //открываю второй файл с режимом чтения и записи
    if(masF1!=NULL & masF2!=NULL)//проверка на открытие
    {
        for(int i=0;i<10;i++)
        {
            fprintf(masF1,"%i ",mas1[i]);//запись в первый файл первого массива
            fprintf(masF2,"%i ",mas2[i]);//запись во второй файл второго массива
        }
    }
    fseek(masF1,0,SEEK_SET);
    fseek(masF2,0,SEEK_SET);
    masItog=fopen("masItog.txt","a+");
    int a,b;
    int ka=1,kb=1;
    
        fscanf(masF1,"%i",&a);
        fscanf(masF2,"%i",&b);//чтение из файла
    do {
        if(a<b) 
        {
            fprintf(masItog,"%i ",a);
            fscanf(masF1,"%i",&a);
            if(feof(masF1)) 
                ka=0;
        }
        else
        {
            fprintf(masItog,"%i ",b);
            fscanf(masF2,"%i",&b);
            if(feof(masF2)) 
                kb=0;
        }
    } 
    while(ka==1 & kb==1);
    if(kb==0) 
        for(;!feof(masF1);) 
        {
            fprintf(masItog,"%i ",a);
            fscanf(masF1,"%i",&a);
        }
    if(ka==0) 
        for(;!feof(masF2);) 
        {
            fprintf(masItog,"%i ",b);
            fscanf(masF2,"%i",&b);
        }
 
    getch();
    return 0;
}
вот программка. она рандомом заполняет 2 файла, сортирует и записывает в третий. что надо добавить, чтобы после работы файлики были пусты
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
31.05.2013, 14:27     Подскажите, как очистить файл, после его работы #2
Можно открыть файл для перезаписи, и он станет пустым
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.05.2013, 14:28     Подскажите, как очистить файл, после его работы #3
Цитата Сообщение от master00793 Посмотреть сообщение
что надо добавить, чтобы после работы файлики были пусты
Открыть для записи и закрыть.
master00793
2 / 2 / 0
Регистрация: 25.02.2013
Сообщений: 42
31.05.2013, 14:59  [ТС]     Подскажите, как очистить файл, после его работы #4
ничего не получилось

Добавлено через 5 минут
все, осилил. спасибо ребят!
Tombland
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 22
10.06.2015, 19:19     Подскажите, как очистить файл, после его работы #5
Элегантнее это можно сделать? Не переоткрывая файл
Yandex
Объявления
10.06.2015, 19:19     Подскажите, как очистить файл, после его работы
Ответ Создать тему
Опции темы

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