Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Blacky
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 21
#1

Форматированная запись в файл

26.02.2011, 11:52. Просмотров 1533. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста, нужно написать программу, суть в следущем:
Имеется файл "C:/Text.txt", в котором записаны через пробел 20 произвольных чисел, необходимо считать их из файла, а потом записать обратно эти числа в виде таблицы 4х5.
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
int main( void )
{
   int A[20];
   int i,j;
   FILE *fp;
 
    if ( (fp = fopen("C:\\Text.txt", "r")) == NULL)
    {
    fprintf(stderr, "Error opening file\n");
    exit(1);
    }
    for (i=0; i<20; i++)
    {
      fscanf(fp, "%d", &A[i]);
      printf(" %d",A[i]);
    }
    fclose(fp);
    if ( (fp = fopen("C:\\Text.txt", "w")) == NULL)
    {
    fprintf(stderr, "Error opening file\n");
    exit(1);
    }
 // Вот тут надо организовать запись в файл чисел а аиде матрицы 5х4
    getch();
    fclose(fp);
    clrscr();
    return 0;
}
Никак не могу понять как это сделать, помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2011, 11:52
Ответы с готовыми решениями:

Почему не создаётся файл и не производится запись в пустой файл?
Помогите разобраться почему не создаётся файл и не производится запись в пустой...

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

Запись структуры в файл
Как правильно будет записать структуру данных в файл, что бы затем без проблем...

Запись строки в файл
Любым способом записать в файл . Дана строчка char text=&quot;Hello&quot;; Что делать?

Запись в файл.Ошибка
Прошу помочь решить ошибку #include &lt;sys/sysinfo.h&gt; #include &lt;stdio.h&gt;...

2
fasked
Эксперт С++
4981 / 2560 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.02.2011, 12:24 #2
Нужное имя файла подставьте в макрос FILENAME
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
#include <stdio.h>
#include <stdlib.h>
 
# define ROWS       4
# define COLUMNS    5
# define SIZE       (ROWS * COLUMNS)
 
# define FILENAME   "file.txt"
 
int main()
{
    int i = 0, j = 0;
    int data[SIZE] = { 0 };
    
    FILE *pfile = NULL;
 
    // open file for read
    if ( (pfile = fopen (FILENAME, "r")) == NULL) {
        fprintf (stderr, "\ncan't open file %s\n", FILENAME);
        exit (1);
    }
 
    // read data
    for (i = 0; i < SIZE && !feof(pfile) && !ferror(pfile); ++i) {
        if (fscanf (pfile, "%d ", &data[i]) != 1) {
            break;
        }
    }
 
    // check error
    if ((feof (pfile) && i != SIZE)) {
        fprintf (stderr, "\nfile %s include less values than %d\n", FILENAME, SIZE);
    }
        
    if (ferror(pfile)) {
        fprintf (stderr, "\nfail to read data from file %s\n", FILENAME);
        exit (1);
    }
 
    // close file
    fclose (pfile);
    pfile = NULL;
 
    // open file for write
    if ( (pfile = fopen (FILENAME, "w")) == NULL) {
        fprintf (stderr, "\ncan't open file %s\n", FILENAME);
        exit (1);
    }
 
    // write data
    for (i = 0; i < ROWS; ++i) {
        for (j = 0; j < COLUMNS; ++j)
            fprintf (pfile, "%3d ", data[i * COLUMNS + j]);
        fprintf (pfile, "\n");
    }
 
    // close file
    fclose (pfile);
    pfile = NULL;
 
    printf ("\noperation complete\n");
    system ("PAUSE");
    return 0;
}
Результат работы:
Файл до изменения
Код
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Файл после изменения
Код
  0   1   2   3   4 
  5   6   7   8   9 
 10  11  12  13  14 
 15  16  17  18  19
1
Blacky
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 21
26.02.2011, 20:41  [ТС] #3
Спасибо большое! очень помогли
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2011, 20:41

Не происходит запись в файл
первая программа,которая из 64 сс переводит в 2сс,все работает,после этого по...

Запись массива в файл
Взгляните на строки 49-64. Разбираюсь с аргументами коммандной строки) Суть:...

Запись структуры в файл
Дан файл (testNEW.txt), в котором записана информация о ноутбуках. Часть этой...


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

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

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