Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Blacky
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 21
#1

Форматированная запись в файл - C (СИ)

26.02.2011, 11:52. Просмотров 1522. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Форматированная запись в файл (C (СИ)):

Почему не создаётся файл и не производится запись в пустой файл? - C (СИ)
Помогите разобраться почему не создаётся файл и не производится запись в пустой файл, в дебагере вроде как всё нормально, указатели и...

Запись чисел в файл - C (СИ)
Здравствуйте, уважаемые пользователи форума. Напишите пожалуйста программу которая вводит 5 чисел с клавиатуры и записывает их на диск &quot;D&quot;...

Запись структуры в файл - C (СИ)
есть структура struct base { int id; char name; }; typedef struct base office; функция для записи в файл

Запись в файл из буфера - C (СИ)
if(StrStr(pCacheMap,Line1)==NULL) { //not logged AddItem(Line1,TotalLen+3); AddCache(Line1,TotalLen+3); TotalLen -=...

Не происходит запись в файл - C (СИ)
Программа считывает строку с файла, считает в ней количество каждого символа. Результаты должна записывать в другой файл, но не записывает(...

Запись структуры в файл - C (СИ)
Что я не так делаю ?Облазил много тем и так и не понял почему оно не работает. int main(){ int k; int n; int i; int j; int...

2
fasked
Эксперт С++
4975 / 2555 / 180
Регистрация: 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
Привет! Вот еще темы с ответами:

Запись в файл некорректна - C (СИ)
Есть структура: struct factory { int enterprisecode; int specialtycode; char namespecialty; char ministryname; ...

Некорректная запись в файл - C (СИ)
задача - считать из файла1 тхт текст, ввести длину строки и записать в файл2.тхт этот же текст в консоли оно всё норм, а в файл...

Запись массива в файл - C (СИ)
Добрый день, хочу записать массив char в файл, но появляется ошибка load symbols for additional information. Заранее спасибо. Вот код: f...

Запись массива в файл - C (СИ)
Доброго времени суток. Подскажите пожалуйста, как теперь записать данные в файл? Что писать в последнем цикле? #include &lt;conio.h&gt; ...


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

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

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