Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Romatwice
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 28
1

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию

14.12.2015, 15:57. Просмотров 674. Ответов 2
Метки нет (Все метки)

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать в файл F2 только те строки из F1, которые начинаются с буквы «А».
Помогите пожалуйста, выскакивает ошибка, это происходит после считывания данных в текстовый файл, то есть первый файл заполняется, а дальше где-то ошибка.
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию



Еще проблема, не могу понять как выполнить само условие:"Скопировать в файл F2 только те строки из 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
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
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <string>
 
int main()
{
    setlocale(LC_ALL,"russian");
    size_t size2;
    char a[50];
    char s[50];
    int k=0;
    int i,x;
      FILE *f1;
  f1 = fopen("f1.txt","wt"); 
    if (!f1)
    {
        printf( "Error!");
        return 0;
    }
    printf ("Введите количество строк\n");
scanf ("%d",&x);
  for(i=1; i<x+1; i++ ) { 
      scanf("%s", a);
        fprintf(f1, "%s\n", a ); 
    } 
    fclose(f1);
    
      
    FILE *finput;
  
    finput=fopen("f1.txt","r+");  
     
    while ((fscanf(finput, "%s",&s)!=EOF))
    {    if(!finput) break;    
            k++;
    }
 
    int *c = (int*) malloc(k*sizeof(int));  /* malloc динамическое выделение памяти.
    будем предполагать, что неизвестно из скольки строк состоит файл.
    вычисляем размер памяти с помощью операции sizeof() */
    rewind(finput); //устанавливаем указатель на начало в файле,чтобы снова прочитать файл
    
    //создаем на запись второй файл F2,куда будем записывать прочитанный массив из finput
    FILE *f2;
    f2 = fopen("f2.txt","wt"); 
    for(i=1;i<x+1;i++)
    {
        fscanf(finput, "%s",&c[i]);     
        fprintf( f2, "%s\n" ,c[i]);
    }
 
    fclose(finput); //закрываем файл
     
    free(c); //Высвобождение памяти 
    fclose(f2);//закрываем файл
    printf("DONE!");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2015, 15:57
Ответы с готовыми решениями:

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
Всем привет, задание такое: Создать текстовый файл F1 не менее, чем из 10 строк и записать в него...

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию 1) Скопировать в...

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию 1)скопировать в...

Создать текстовый файл и записать в него N строк длины N
Создать текстовый файл и записать в него N строк длины N;строка с номером K должна содержать K...

Создать текстовый файл и записать в него 5 одинаковых строк
Помогите создать текстовый файл и записать в него 5 одинаковых строк. Записываемая строка вводится...

2
Velesthau
524 / 427 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
14.12.2015, 16:02 2
Цитата Сообщение от Romatwice Посмотреть сообщение
fscanf(finput, "%s",&s
Зачем здесь &?
Цитата Сообщение от Romatwice Посмотреть сообщение
while ((fscanf(finput, "%s",&s)!=EOF))
{ if(!finput) break;
k++;
}
int *c = (int*) malloc(k*sizeof(int)); /* malloc динамическое выделение памяти.
зачем все это? Не нужно считать кол-во строк. Открыл f1 на чтение, f2 на запись. Потом в цикле с помощью fgets взял строку в s, проверил, что s[0] - это 'A', и если да, то записал строку в f2. И так до конца f1.
0
Romatwice
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 28
14.12.2015, 16:03  [ТС] 3
Velesthau, спасибо, посмотрим, я просто лазал тут по форуму, и увидел задачу похожую, только соседнего варианта) Пытался что-то из нее сделать, но ничего толкового не вышло
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2015, 16:03

Создать текстовый файл с указанным именем и записать в него N строк
Дано имя файла и целое число (0&lt;N&lt;27). Создать текстовый файл с указанным именем и записать в него...

Создать текстовый файл с указанным именем и записать в него N строк
Дано имя файла и целые положительные числа N и K. Создать текстовый файл с указанным именем и...

Создать текстовый файл с указанным именем и записать в него N строк
Ребят если можно напишите как нибудь программу по проще) не усложняите, а то не поверят что я её...


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

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

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