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

файлы - C++

Восстановить пароль Регистрация
 
s.w.a.t1
Сообщений: n/a
23.12.2010, 02:29     файлы #1
Задание : из одного файла надо переписать все четные строки в другой файл, и подсчитать размер каждого файла в байтах.
первую часть задания сделал , на мой взгляд все верно, но компилятор ругается сильно сильно.
файл f1 я заполняю с клавы.
А как делать вторую часть задания даже представить себе не могу((
в общем люди добрые помогите кто чем может, а в идеале объясните что не так с моим кодом.
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 <iostream>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
# include <string.h>
using namespace std;
void main()
{int j,i,k=0;
 
char *str;
    str=new char ;
 
    FILE *fp,*fp1;
j=0;
fp=fopen("E:\f1.txt","r+");
fp1=fopen("E:\f2.txt","r+");
while(!feof(fp))
{
    
    fgets(str,100,fp);
k++;
if (k%2==1)
fputs(str,fp1);
}
fclose(fp);
fclose(fp1);
getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 02:29     файлы
Посмотрите здесь:

Файлы С++ C++
C++ Файлы
C++ файлы
C++ файлы в С++
Файлы C++
C++ Файлы
файлы в С C++
C++ Файлы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
23.12.2010, 07:50     файлы #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    const char* ifile = "input.txt";
    const char* ofile = "output.txt";
    char* buf = NULL;
    FILE* fi;
    FILE* fo;
    ssize_t n;
    size_t linenum = 1;
    size_t size = 0;
    if((fi = fopen(ifile, "rb")) == NULL)
    {
        perror("fopen");
        exit(1);
    }
    if((fo = fopen(ofile, "wb")) == NULL)
    {
        perror("fopen");
        exit(2);
    }
    while((n = getline(&buf, &size, fi)) != -1)     
        if(!(linenum++ & 1))
            if(fwrite(buf, sizeof(char), n, fo) != n)
            {
                perror("fwrite");
                exit(4);
            }
            
    if(ferror(fi))
    {
        perror("getline");
        exit(3);
    }
    
    printf("Size of %s: %ld byte(s)\n", ifile, ftell(fi));
    printf("Size of %s: %ld byte(s)\n", ofile, ftell(fo));
    
    if(buf)
        free(buf);
        
    exit(0);
}
Нумерация строк начинается с единицы

Цитата Сообщение от s.w.a.t1 Посмотреть сообщение
C++
1
str=new char ;
Здесь ты выделяешь память под один символ, а пытаешься запихать по этому указателю строку в 100 символов
Yandex
Объявления
23.12.2010, 07:50     файлы
Ответ Создать тему
Опции темы

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