С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 3
Регистрация: 27.01.2015
Сообщений: 116

При чтении файла считываются невидимые символы

08.04.2016, 14:56. Показов 1443. Ответов 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
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
using namespace std;
 
struct List {
    char value;
    struct List *next;
};
 
struct List *A1;
struct List *A2;
 
void Push(struct List** headRef, char data) {
    struct List* newList = (List*)malloc(sizeof(struct List));
    newList->value = data;
    newList->next = *headRef;
    *headRef = newList;
}
struct List* Append(struct List** headRef, char num)
{
    struct List* current = *headRef;
    struct List* newNode;
    newNode =(List*) malloc(sizeof(struct List));
    newNode->value = num;
    newNode->next = NULL;
    // если список пуст
    if (current == NULL) {
        *headRef = newNode;
        return *headRef;
    }
    else {
        // иначе
        while (current->next != NULL) {
            current = current->next;
        }
        current->next = newNode;
        return current;
    }
}
 
 
void printLinkedList(const List *head) {
    while (head) {
        printf("%c", head->value);
        head = head->next;
    }
    printf("\n");
}
 
int main()
{
    setlocale(LC_ALL, "");
    FILE *file_1, *file_2;
    file_1 = fopen("file_1.txt", "r");
    file_2 = fopen("file_2.txt", "r");
    char c;
    if (file_1 != NULL)//Если файл существует
    {
        while (!feof(file_1))//Читаем его пока не конец файла
        {
            c = getc(file_1);//Считываем 1 символ
            Append(&A1,c);
        }
    }
    if (file_2 != NULL)//Если файл существует
    {
        while (!feof(file_2))//Читаем его пока не конец файла
        {
            c = getc(file_2);//Считываем 1 символ
             Append(&A2, c);
        }
    }
    printf("Первый список из файла file_1:\n");
    printLinkedList(A1);
    printf("Второй список из файла file_2:\n");
    printLinkedList(A2);
 
    Append(&A1, A2->value);//Добавление первого элемента списка
 
    while (A2->next)//Проматываем второй список до конца
        A2 = A2->next;
 
    Append(&A1, A2->value);//Добавление последнего элемента списка
    printf("Первый список с добавленным первым и последним элементом из второго списка\n");
    printLinkedList(A1);
    getchar();//Это чтобы программа не закрылась сразу
    return 0;
}
Миниатюры
При чтении файла считываются невидимые символы  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2016, 14:56
Ответы с готовыми решениями:

При чтении из файла последние данные считываются дважды !? eof() ?
Есть следующий код: std::ifstream fin("ParentList", std::ios::binary); QString str; while(!fin.eof()) { ...

Лишние символы при чтении из файла
Здравствуйте! Есть текстовый файл следующего содержания: DROP FUNCTION IF EXISTS NumericOnly; CREATE FUNCTION NumericOnly (val...

Лишние символы при чтении бинарного файла
Добрый день, форумчане! Прошу помочь разобраться с проблемой. Программа преобразовывает текстовый файл в двоичный. При выводе...

1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.04.2016, 15:21
Признак конца файла устанавливается только при первом неудачном чтении. Проверять надо сразу после getc().
C++
1
2
3
4
5
6
        while (true)//Читаем его пока не конец файла
        {
            c = getc(file_1);//Считываем 1 символ
            if (feof(file_1)) break;
            Append(&A1,c);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2016, 15:21
Помогаю со студенческими работами здесь

условие: с файла по-байтно считываются символы (while (от первого до последнего символа))
помогите загнать в цикл. а то совсем заморочился уже. условие: с файла по-байтно считываются символы (while (от первого до последнего...

Не читаемые символы при чтении файла из структуры "Товары"
У меня выводятся не читаемые символы на экран, когда я ввожу текст на русском: В итоге в файл записываются какие-то непонятные мне...

Лишние символы при чтении из файла
Из переменной buffer элементы строки записываются в двумерный массив, а после выводятся. Но при выводе получаются лишние символы, в данном...

При чтении из файла появляются символы
Весь код привожу на всякий случай, он еще не готов, не разбирайтесь особо в нем, просто посмотрите: Когда в процедуре Button4Click...

Символы при чтении txt файла
Приветствую! Столкнулся с такой проблемой, если создаешь txt через консольное приложение и потом добавляешь в него русский текст то при...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru