0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
1

Почему в файл записывается на "китайском"

07.05.2020, 21:02. Показов 492. Ответов 15

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
#include<fstream>
#include<stdio.h>
 
using namespace std;
struct studInfo {
    char name[40];
    char lastName[40];
    char group[10];
    int yfb,
        course;
};
int i = 0;
studInfo* student = new studInfo[100];
int main() {
        FILE* read;
        fopen_s(&read, "data.txt", "r");
        if (read != NULL)
        {
            do {
                fread(&student[i], sizeof(studInfo), 1, read);
                i++;
                if (feof(read))
                    break;
            } while (1);
        }
        i--;
        fclose(read);
    
            FILE* write;
        fopen_s(&write, "data.txt", "a+");      
        int q = 1;
        while (q != 0) {
            cin >> student[i].name >> student[i].lastName;
            i++;
            cin >> q;
        }
        if (write != NULL) {
            for (int j = 0; j < i; j++) {
                fwrite(&student[j], sizeof(studInfo), 1, write);
            }
 
        }
        for (int j = 0; j < i; j++) {
            cout << "Name " << student[j].name << endl;
            cout << "Last Name " << student[j].lastName << endl;
        }
        fclose(write);
        return 0;
}
Почему в файл записывается на "китайском"
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2020, 21:02
Ответы с готовыми решениями:

Число "0" не записывается в файл
Из-за того что в файле нет числа &quot;0&quot; программа работает не правильно. Как сделать так, чтобы в...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Программа считывает файл ".txt" и выводит сколько "слов" в нем дано ("слова" разделены пробелом)
Прошу помощи с кодом. Если честно немного не понимаю что пошло не так. #include &lt;iostream&gt;...

Почему вылетает ошибка "файл вызвал срабатывание точки останова"?
Уже который день мучаюсь с сортировками Тестируешь, вроде всё нормально, но потом вылетает ошибка,...

15
114 / 71 / 48
Регистрация: 16.11.2012
Сообщений: 257
07.05.2020, 21:10 2
попробуй добавть в main
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
и подключи #include <windows.h>
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
07.05.2020, 21:19  [ТС] 3
Почему в файл записывается на "китайском"
теперь вот так
0
114 / 71 / 48
Регистрация: 16.11.2012
Сообщений: 257
07.05.2020, 21:21 4
А скиньте ваш файл с данными.
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
07.05.2020, 21:26  [ТС] 5
data.txt
0
Продавец времени
7128 / 4004 / 924
Регистрация: 12.03.2015
Сообщений: 18,830
07.05.2020, 21:28 6
Цитата Сообщение от coocko Посмотреть сообщение
data.txt
Там всё правильно записано. Чо не так-то?
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
07.05.2020, 21:30  [ТС] 7
O_O. Извините, а киньте, пожалуйста, скрин, что там внутри находится. У меня отображаются кракозябры
0
Продавец времени
7128 / 4004 / 924
Регистрация: 12.03.2015
Сообщений: 18,830
07.05.2020, 21:37 8
Цитата Сообщение от coocko Посмотреть сообщение
а киньте, пожалуйста, скрин, что там внутри находится
ня
Почему в файл записывается на "китайском"
0
Параллельный Кот
1904 / 826 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
07.05.2020, 21:44 9
Цитата Сообщение от coocko Посмотреть сообщение
C++
16
fopen_s(&read, "data.txt", "r");
Работать с текстовым файлом и читать/записывать бинарные данные - так себе затея.
0
Продавец времени
7128 / 4004 / 924
Регистрация: 12.03.2015
Сообщений: 18,830
07.05.2020, 21:47 10
Цитата Сообщение от valen10 Посмотреть сообщение
Работать с текстовым файлом и читать/записывать бинарные данные - так себе затея.
Ну дык этож не текстовый файл-то. От расширения .txt содержимое не зависит. Пассажыр хочет именно бинарник, судя по структуре.
0
Параллельный Кот
1904 / 826 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
07.05.2020, 21:59 11
Цитата Сообщение от Verevkin Посмотреть сообщение
От расширения .txt содержимое не зависит.
От "r" или "rb" ("a+" или "ab+") зависит. Если тот же course=10, то в файл попадет не 0A 00 00 00, а 0D 0A 00 00 00. Ну Вы сами знаете. ТС это не заметит, но косяк же.

p.s.: вышесказанное справедливо для Windows, Linux пофиг, MacOS запишет скорее всего 0D 00 00 00.
0
Продавец времени
7128 / 4004 / 924
Регистрация: 12.03.2015
Сообщений: 18,830
07.05.2020, 22:02 12
Цитата Сообщение от valen10 Посмотреть сообщение
Ну Вы сами знаете. ТС это не заметит, но косяк же.

Ща он задание покажет и мы узнаем, что делать надо было ваще чо-то другое, не связанное с файлами и С++.
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
07.05.2020, 22:04  [ТС] 13
Та не, с файлами. Прочитать/записать, отсортировать, найти и вывести. Ввод в виде какой-то херни смущает. "rb" поправит моё положение?
0
Продавец времени
7128 / 4004 / 924
Регистрация: 12.03.2015
Сообщений: 18,830
07.05.2020, 22:12 14
Цитата Сообщение от coocko Посмотреть сообщение
"rb" поправит моё положение?
Мож таки тупо почитаешь инфу про это? Этож проще, чем тут в угадайку играть.
0
Параллельный Кот
1904 / 826 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
07.05.2020, 22:17 15
Цитата Сообщение от coocko Посмотреть сообщение
Ввод в виде какой-то херни смущает.
Кликните здесь для просмотра всего текста
Почему в файл записывается на "китайском"

Бинарный файл <- тут о том, что это, зачем, и как посмотреть.
fopen <- тут о том, что такое "r", "rb" и прочее.
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 44
07.05.2020, 23:44  [ТС] 16
Поставлю свечку в храме за ваше здоровье
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2020, 23:44
Помогаю со студенческими работами здесь

Подскажите почему может появляться ошибка: "неразрешенный внешний символ "_SDL_...""
Привет всем =) Скажите пожалуйста почему у меня пишет: 1&gt;SDL.obj : error LNK2001: неразрешенный...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Почему не работает функция std::regex_replace(temp,"amp;","");
Пробую вызывать функцию std::regex_replace(temp,&quot;amp;&quot;,&quot;&quot;); Пишет ошибку: test_ok_ruDlg.cpp...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

Почему вместо обратного слеша "\" выводит "¥"
Компилятор напрочь отказывается ставить обратный слеша В других программах все работает нормально....

Как создать аналог командам "файл-> открыть", "файл->сохранить", "Файл->сохранить как"
На форме создано меню &quot;файл ... &quot; (как в любой обычной программе). Нужно теперь сделать кнопку с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru