Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 260
Записей в блоге: 1
1

Запись данных в текстовый файл

22.04.2015, 16:20. Просмотров 1147. Ответов 8
Метки нет (Все метки)

Подскажите пожалуйста как записать дынные в текстовый файл. Знаю как считывать из файла, а как записать нет. Подскажите пожалуйста!!!


C++
1
2
3
4
5
6
7
8
void WriteList(PNode ch, FILE *f) {
    while (ch!=NULL){
        fprintf(f,"%i  ",ch->Info.Chis);
        //printf("%i  ",ch->Info.Chis);
        ch=ch->Next;
    }
    printf("\n");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2015, 16:20
Ответы с готовыми решениями:

Запись данных в текстовый файл
Есть код программы: #include <stdio.h> #include <string.h> int main(void) { HANDLE...

Запись данных в текстовый файл
Помогите решить задачу. Нужно создать что-то типа базы данных с записью в текстовый документ. Нужно...

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

До запись в текстовый файл
Программа работает, но с дефектом. Суть такова: программа должна дописывать в конец текстового...

8
6907 / 5972 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
22.04.2015, 16:59 2
Chis - int? Тогда верно.
0
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 260
Записей в блоге: 1
22.04.2015, 17:14  [ТС] 3
int . только я здесь в двоичный файл записываю, а как в текстовый не знаю
0
6907 / 5972 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
22.04.2015, 17:56 4
fprintf() для текстового и предназначена.
1
Форумчанин
Эксперт CЭксперт С++
8159 / 5007 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
22.04.2015, 18:11 5
как инициализируете указатель на файловый дестриптор?
0
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 260
Записей в блоге: 1
22.04.2015, 18:17  [ТС] 6
MrGluck,
C++
1
2
3
4
5
6
7
struct TItem{
    int Chis;
};
struct TNode {
    TItem Info;
    TNode *Next;
};
0
Форумчанин
Эксперт CЭксперт С++
8159 / 5007 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
22.04.2015, 18:20 7
И где здесь ответ на мой вопрос?
Покажите чему равен f, который является FILE *.
0
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 260
Записей в блоге: 1
22.04.2015, 18:37  [ТС] 8
MrGluck, Прошу прощения. Вот полный код

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
struct TItem{
    int Chis;
};
struct TNode {
    TItem Info;
    TNode *Next;
};
 
typedef TNode*PNode;
void PrintList(PNode ch);
void InsertToHead(TItem AItem,PNode * Head);  
void InsertAndSort(TItem Item,PNode * Head);  
void  DeleteList(PNode  *  Head);
void  DeleteList2(PNode  *  Head2);
void WriteList(PNode ch, FILE *f);
void InsertToTail(PNode  Head,PNode *Head2);
 
int main() {
    int i,m; 
    PNode  Head=NULL; 
    PNode  Head2=NULL;
    FILE *f; 
    FILE *t; 
    TItem P; 
    TItem V;
    i=0;
    m=0;
    if ((t=fopen("input.bin","rb"))==NULL) {  
            printf ("File not open"); 
            exit(1); 
    }
    if ((f=fopen("output.txt","w"))==NULL) { 
           printf ("File not open"); 
           exit(1); 
    }; 
    PrintList(Head); 
    while (fread(&P,sizeof(TItem),1,t))  {
        if (P.Chis<0)
            i++;}
    fclose (t);
    if ((t=fopen("input.bin","rb"))==NULL) {  
            printf ("File not open"); 
            exit(1); 
    }
    while (fread(&P,sizeof(TItem),1,t))  {
        if(P.Chis<0){
            m++;}
        else if((m>=1)&&(m<i)){
            InsertAndSort(P,&Head);}
    }
    InsertToTail(Head,&Head2);
    PrintList(Head2); 
    WriteList(Head2,f);
   // DeleteList(&Head); 
    //DeleteList2(&Head2);
    PrintList(Head2); 
    fclose(f); 
    fclose(t); 
    system("pause");
} 
 
void PrintList (PNode ch) {
    if(ch==NULL)
        printf("List empty\n");
    else{
            while(ch!=NULL) {
            printf("%i  ",ch->Info.Chis);
            ch=ch->Next;
        }
            printf("\n");
    }
}
 
void InsertToTail(PNode  Head,PNode *Head2) {
    PNode V,ch;
    V=Head;
    while (V!=NULL) {
    ch=(PNode) malloc(sizeof(V->Info));  
    ch->Info=V->Info;   
    ch->Next=*Head2;
    *Head2=ch; 
    V=V->Next;
    }
}
 
void InsertToHead(TItem AItem,PNode * Head) {
    PNode ch; 
    ch=(PNode) malloc(sizeof(TNode));  
    ch->Next=*Head;   
    ch->Info=AItem;  
    *Head=ch;
}
 
 
void InsertAndSort(TItem Item,PNode * Head){
    PNode P,Q,R;
  if ((*Head == NULL) ||(/*(*Head)->Info.Chis > Item.Chis)*/(Item.Chis>0)))
       InsertToHead(Item,Head);
    else {
        R=*Head;
        P=(*Head)->Next;
        while((P!=NULL)&&(P->Info.Chis>=Item.Chis)) {
            R=P;
            P=P->Next;
        };
        Q=(PNode)malloc(sizeof(TNode));
        Q->Info=Item;
        Q->Next=R->Next;
        R->Next=Q;
    }
}
 
void DeleteList(PNode * Head) {
    PNode ch,Q;
    ch=*Head;
    while(ch!=NULL){
        Q=ch->Next;
        free(ch);
        ch=Q;
    }
    *Head=ch;
}
 
void DeleteList2(PNode * Head2) {
    PNode ch,Q;
    ch=*Head2;
    while(ch!=NULL){
        Q=ch->Next;
        free(ch);
        ch=Q;
    }
    *Head2=ch;
}
 
void WriteList(PNode ch, FILE *f) {
    while (ch!=NULL){
        fprintf(f,"%i  ",ch->Info.Chis);
        ch=ch->Next;
    }
    printf("\n");
}
0
Форумчанин
Эксперт CЭксперт С++
8159 / 5007 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
22.04.2015, 18:55 9
Лучший ответ Сообщение было отмечено Non_stop как решение

Решение

Цитата Сообщение от Non_stop Посмотреть сообщение
f=fopen("output.txt","w")
Здесь указано, что запись должна происходить в текстовом (не бинарном) режиме. Значит всё ок.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2015, 18:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Запись матрицы в текстовый файл
Нужна помощь! Программа должна создавать текстовый файл в который будет записана матрица. Все...

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


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

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

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