Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 6

Неверное чтение файла в другой кодировке

05.06.2014, 16:07. Показов 927. Ответов 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
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
#include "stdafx.h"
#include "conio.h"
#include <fstream>
#include "stdio.h"
#include <string>
#include <stdlib.h>
#include "locale.h"
 
const char* getfield(char* line, int num)
{
    setlocale (LC_ALL,"Russian");
    
    char * context = NULL;
    const char* tok;
    for (tok = strtok_s(line, ";", &context);
            tok && *tok;
            tok = strtok_s(NULL, ";\n", &context))
    {
        if (!--num)
            return tok;
    }
    return NULL;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *fp;
    fopen_s(&fp, "C:\\ccc\\inf.txt", "rt"); //change path
    if(fp == NULL) 
    {
     printf("Фаил не открыт \n");
     printf("Нажмите любую клавишу");
    _getch();
      return 0;
    }
 
    char* line;
    char* cur;
    const char* field;
    int clines = 0, i, j;
 
    line = (char*) malloc(sizeof(char) * 1024 + 1);
    line[0] = '\0';
    cur = (char*) malloc(sizeof(char) * 1024 + 1);
    cur[0] = '\0';
    printf("Файл открыт:\n");
    while (fgets(line, 1024, fp))
    {
        clines = clines + 1;
        printf("%s\n", line);
 
    }
 
    char **maslines = new char*[clines];
    for(i = 0; i < clines; i++)
        maslines[i] = new char[1024];
 
    fseek(fp, 0, 0); 
 
    for(i = 0; i < clines; i++)
    {
        fgets(line, 1024, fp);
        memcpy(maslines[i], line, sizeof(char) * 1024);
    }
 
    printf("Непроданы:\n");
    for(i = 0; i < clines; i++)
    {
        char* tmp = _strdup(maslines[i]);
        field = getfield(tmp, 8);
        if(strcmp(field, "0") == 0)
            printf("%s\n", maslines[i]);
        free(tmp);
    }
 
    for(i = 0; i < clines; i++)
    {
 
        for(j = 0; j < clines; j++)
        {
            if(i!=j)
            {
                char* tmp1 = _strdup(maslines[i]);
                char* tmp2 = _strdup(maslines[j]);
                if(strcmp(getfield(tmp1, 10),getfield(tmp2, 10))<0)
                {   
                    memcpy(cur, maslines[j], sizeof(char) * 1024);
                    memcpy(maslines[j], maslines[i], sizeof(char) * 1024);
                    memcpy(maslines[i], cur, sizeof(char) * 1024);
 
                }
                free(tmp1);
                free(tmp2);
            }
        }
    }
 
    printf("Сортировка по месту:\n");
    for(i = 0; i < clines; i++)
    {
        printf("%s\n", maslines[i]);
    }
 
    fclose(fp);
 
    printf("Нажмите любую клавишу");
    _getch();
 
}
Миниатюры
Неверное чтение файла в другой кодировке  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2014, 16:07
Ответы с готовыми решениями:

Чтение из файла в нужной кодировке
Си не видит русские буквы в текстовом файле. Вот сама задача &quot;Дан файл, содержащий текст, включающий русские и английские слова....

Чтение файла в неверной кодировке
Работая с текстовым файлом столкнулся с ошибкой чтения. Используя свой любимый метод: Dim zap As New...

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

1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2014, 22:51
Цитата Сообщение от deadspace2007 Посмотреть сообщение
setlocale (LC_ALL,"Russian");
В main() сделайте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2014, 22:51
Помогаю со студенческими работами здесь

Чтение файла в нужной кодировке
Здравсвуйте, помогите разобраться, нужно при загрузке файла прочитать строки и записать их в БД, кодировка файла изначально не известна,...

Чтение из файла в нужной кодировке
Помогите, пожалуйста. Я делаю считывание из файла при помощи StreamReader и считываю данные посимвольно, но вместо нужных мне символов он...

чтение файла в заданой кодировке
Здравствуйте. У меня такая проблема: нужно прочитать файл в кодировке Windows 1251, а так как я пытаюсь сделать это с помощью методов...

Чтение файла в правильной кодировке
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...

Чтение из файла происходит в неверной кодировке
Читаю из файла данные, а на экран выводятся кракозябры. Что из текстового, что из типизированного. Причем текст написан латинскими...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной почты. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru