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

записывает в файл каракули - C++

Восстановить пароль Регистрация
 
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:18     записывает в файл каракули #1
почему когда я ввожу данные мне в файл записывает каракули, и такое же когда ввивоже из файла на экран?
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
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cctype>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
int size=0;
 
using namespace std;
 
struct info{
       char name[20];
       char zodiak[20];
       char data[3];
       };
void inp(info &A);
void out(info &A);
 
int main()
{
    info A;
    inp(A);
    getch();
    return 0;
}
 
void inp(info &A){
    FILE *f;
    f=fopen("d://1.txt","ab");
        size++;
        cout<<"Enter:"<<endl;
        cout<<"Name"<<endl;
        cin>>A.name;
        cout<<"Zodiak"<<endl;
        cin>>A.zodiak;
        cout<<"data"<<endl;
        cin>>A.data;
        fwrite(&A,sizeof(A),1,f);
    fclose(f);
    out(A);
}
 
void out(info &A)
{
     FILE *f;
     f=fopen("d://hrupalik.txt","rb");
     for(int i=0;i<size;i++){
     fread(&A, sizeof(A), 1, f);
        cout<<"Name:  ";
        cout<<A.name<<endl;
        cout<<"Zodiak:  ";
        cout<<A.zodiak<<endl;
        cout<<"data:  ";
        cout<<A.data<<endl;
    }
        fclose(f);
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 20:18     записывает в файл каракули
Посмотрите здесь:

C++ Не записывает в файл
C++ Не записывает в файл
Не записывает ничего в файл C++
C++ Не записывает в файл
C++ Не записывает структуру в файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.12.2012, 20:19     записывает в файл каракули #2
надеюсь, ты латиницей пишешь.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:23  [ТС]     записывает в файл каракули #3
Ввожу следующие данные:
asdf
dfgh
cvbn
что записывает в файл:

asdf АwяяяягВБwёВwdfgh 7>  *®Вwй¶Ђ|cvbassdf АwяяяягВБwёВwef А7>  *®Вwй¶Ђ|rg
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 20:25     записывает в файл каракули #4
поле дата в структуре имеет размер 3. тут уже 4 символа
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:28  [ТС]     записывает в файл каракули #5
Вот другой пример:
Входные данные:
Andriy
Lev
123
Что в файл записалось:
Andriy wяяяягВБwёВwLev А7>  *®Вwй¶Ђ|123
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:04     записывает в файл каракули #6
tokar2, все верно. вот есть чаровый массив на 20 элементов. А в него заносится слово длиной 5 символов. итого в масмиве будет: 5 символов слова, 1 символ конца строки и 14 символов со случайными значениями
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 21:14  [ТС]     записывает в файл каракули #7
Здесь выскочила еще одна проблема: не работает функция edit она редактирует профиль того человека которого введем с клавиатуры! Что в ней не так?

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
142
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cctype>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
int size=1;
 
using namespace std;
 
struct info{
       char name[6];
       char zodiak[6];
       char data[6];
       };
void inp(info &A);
void out(info &A);
void rando_m(info &A);
void edit(info &A);
 
int main()
{
      info A;
    cout<<"1)Enter people"<<endl;
    cout<<"2)cout people"<<endl;
    cout<<"3)Random people"<<endl;
    cout<<"4)Redag people"<<endl;
    while(1)
    {
      int c;
      cin>>c;
      switch(c)
      {
        case 1: inp(A); break;
        case 2: out(A); break;
        case 3: rando_m(A); break;
        case 4: edit(A); break;
             }}
  
    getch();
    return 0;
}
 
void inp(info &A){
    FILE *f;
    f=fopen("d://1.txt","ab");
        size++;
        cout<<"Enter:"<<endl;
        cout<<"Name"<<endl;
        cin>>A.name;
        cout<<"Zodiak"<<endl;
        cin>>A.zodiak;
        cout<<"data"<<endl;
        cin>>A.data;
        fwrite(&A,sizeof(A),1,f);
    fclose(f);
}
 
void out(info &A)
{
     FILE *f;
     f=fopen("d://1.txt","rb");
     for(int i=0;i<size;i++){
     fread(&A, sizeof(A), 1, f);
        cout<<"Name:  ";
        cout<<A.name<<endl;
        cout<<"Zodiak:  ";
        cout<<A.zodiak<<endl;
        cout<<"data:  ";
        cout<<A.data<<endl;
    }
        fclose(f);
 }
void rando_m(info &A){
     int n=0;
     cout<<"Enter ckilku random:  ";
     cin>>n;
        size+=n;
     char* name_1[6]={"Andriy Hrupaluk","Skveres Sergiy","Predko Sila","Demankhuk Mukola"," Bogdan Cemenivuch","Vasa Petrenko"};
     char* zodiak_1[12]={"Aries","Taurus","Gemini","Cancer","Leo","Virgo","Libra",
                     "Scorpio","Sagittarius","Capricorn","Aquarius","Pisces"};
     char* data_1[4]={"11 22 2012","12 11 2010","12 11 2011","12 11 2098"};
     FILE *f;
     f=fopen("d://1.txt","ab");
     for(int i=0;i<n;i++){
          strcpy(A.name,name_1[rand()%6]);
          strcpy(A.zodiak,zodiak_1[rand()&12]);
          strcpy(A.data,data_1[rand()%4]);
          fwrite(&A,sizeof(A),1,f);
       }
       fclose(f);
       out(A);
       }
 
void edit(info &A){
  info K;
  FILE *f, *f1;
  bool result = false;
  f=fopen("1.txt", "r+b");
  f1=fopen("text1.txt", "w+b");
  if (f==NULL||f1==NULL) {
    cout<<"Error"<<endl;
  }
  else {
    if (size==0) {
      cout<<"Spisok is Empty"<<endl;
    }
    else {
      cout<<"Enter prizv for redag"<<endl;
      cin>>K.name;
      for (int i = 0; i < size; i++) {
        fread(&A, sizeof(A), 1, f);
        if (strcmp(A.name,K.name)==0) {
          cout<<"New name"<<endl;
          cin>>K.name;
          cout<<"New zodiak"<<endl;
          cin>>K.zodiak;
          cout<<"New date"<<endl;
          cin>>K.data;
          fwrite(&K, sizeof(K), 1, f1);
        }
        else
          fwrite(&A, sizeof(A), 1, f1);
      }
      if (result == false) {
        cout<<"Nema prizvuca"<<endl;
      }
    }
  }
  freopen("1.txt", "wb", f);
  freopen("text1.txt", "rb", f1);
  for (int i = 0; i < size; i++) {
    fread(&A, sizeof(A), 1, f1);
    fwrite(&A, sizeof(A), 1, f);
  }
  fclose(f1);
  fclose(f);
  cout<<endl;
}
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:26     записывает в файл каракули #8
эм, а в чем проблема? как она проявляется?
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 21:27  [ТС]     записывает в файл каракули #9
Выводит сообщение что нет такого имени!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 21:33     записывает в файл каракули
Еще ссылки по теме:

C++ не записывает в файл
Не записывает в файл? C++
Не записывает в файл C++

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

Или воспользуйтесь поиском по форуму:
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:33     записывает в файл каракули #10
Проверьте, с каким именем происходит сравнение. или отладчиком, или выводом на экран
Yandex
Объявления
08.12.2012, 21:33     записывает в файл каракули
Ответ Создать тему
Опции темы

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