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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
#1

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

08.12.2012, 20:18. Просмотров 462. Ответов 9
Метки нет (Все метки)

почему когда я ввожу данные мне в файл записывает каракули, и такое же когда ввивоже из файла на экран?
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);
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 20:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос записывает в файл каракули (C++):

Не записывает в файл? - C++
Не записывает результат преобразования в файл, пожалуйста помогите! #include &lt;stdio.h&gt;//Подключение библиотеки стандартного...

Не записывает в файл - C++
Доброго времени суток. Написал код, который должен открывать файл, находить в нем определенный символ и заменять его на другой. Все...

Не записывает в файл - C++
посмотрите и исправьте ошибку в коде #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; double f(double uu,double vv)...

Не записывает в файл - C++
#include &quot;stdafx.h&quot; #include &lt;list&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; #include...

Не записывает в файл - C++
Здравствуйте! Сделал сортировку,но почему то не записывается в файл. Сам код: #include&lt;iostream&gt; #include&lt;fstream&gt; using...

не записывает в файл - C++
суть - записать из 3-х файлов в 1 и обратно #define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include...

9
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,274
Записей в блоге: 1
08.12.2012, 20:19 #2
надеюсь, ты латиницей пишешь.
0
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
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 20:25 #4
поле дата в структуре имеет размер 3. тут уже 4 символа
0
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:28  [ТС] #5
Вот другой пример:
Входные данные:
Andriy
Lev
123
Что в файл записалось:
Andriy wяяяягВБwёВwLev А7>  *®Вwй¶Ђ|123
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:04 #6
tokar2, все верно. вот есть чаровый массив на 20 элементов. А в него заносится слово длиной 5 символов. итого в масмиве будет: 5 символов слова, 1 символ конца строки и 14 символов со случайными значениями
1
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;
}
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:26 #8
эм, а в чем проблема? как она проявляется?
0
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 21:27  [ТС] #9
Выводит сообщение что нет такого имени!
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:33 #10
Проверьте, с каким именем происходит сравнение. или отладчиком, или выводом на экран
0
08.12.2012, 21:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 21:33
Привет! Вот еще темы с ответами:

Не записывает в файл - C++
писал на visual studio, надо переделать на dev. товарищи, помогите. какая-то фигня с fаpp #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Не записывает ничего в файл - C++
Добро всем утро! Надеюсь хоть у кого-то оно доброе=) Помогите пжл с программой(написать либо подправить). Задача следующая: &quot;Создать...

Записывает в файл не по условию - C++
Вот код одной из функций основной программы,я не понимаю,почему в файл записывает не по условию,а записывает все Должно записывать только...

В файл не записывает массив - C++
Добрый вечер. Есть двумерный строковый массив размером 10x80. При в воде массива создаётся файл, но массив туда не записывается....


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

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

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