Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 1

При считывании файла знаки + и - некорректно отображаются

12.12.2014, 03:32. Показов 987. Ответов 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
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <stack>
 
using namespace std;
 
int main ()
{
 
    int stel;
 
    FILE *plibf;
    plibf = fopen("plibf","r");
    
    if(plibf == NULL)
        {
        printf("File not found\n");
        return 0;
        }
    
int test;
 
while(1)
    {
    
    test = fscanf (plibf,"%d",&stel);
    if (test == EOF){fclose(plibf); return 0;}
 
    if (test == 0)
        {
            fscanf (plibf,"%c",&stel);
    printf("%c\n",stel);
        }
    
    }
 
    
 
 
return 0;
    }
в файле plibf есть символы * / + - ? % & в выводе программы нормально отображается все, кроме + -.
Пример содержимого файла plibf +/*+-?*:/-+-+&$#% Обратите внимание, некоторые плюсы и минусы не отображаются.
Если символы разделить пробелами то в выводе плюсы и минусы будут заменены пробелами.

PS
Eсли в 27 строке заменить %d на %c и удалить строки 30-32 и 34, все будет работать, но тут интересна реализация c возвращаемым значением fscanf. Предполагалось, что fscanf возвращает 0, курсор в файле не меняется, и мы считываем символ уже с флагом %c
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2014, 03:32
Ответы с готовыми решениями:

Неверно отображаются кирилические символы при считывании из базы SQLite
Пытаюсь выгрузить данные из SQLite в массив структур с++ MFC но происходит проблема в кодировке. чем это вызвано и как это исправить?

Некорректно отображаются русские символы при вводе в консоль
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { setlocale(0, &quot;Russian&quot;);...

Переполнение при считывании из файла
Подскажите пожалуйста, где ошибка, вот код чтения из файла: void read_file(void) { int mass; FILE* file =...

1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
12.12.2014, 04:13
Ну давайте пройдем по последовательности: ?+-
while - поехали!
fscanf 1 : не, символ '?' - явно не подходит под считывание в int, оставлю его тут.
fscanf 2 : а я считываю символ '?', у меня же стоит формат '%c'
while - повторяю
fscanf 1 : символ '+' - это хоть и не число, но + предшествует числу, так что читаю дальше. А тут у нас символ '-'. Не, это не цифра, значит прекращаю чтение всего числа. Символ '-' оставляю.
fscanf 2 : а я считываю символ '-', у меня же стоит формат '%c'
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2014, 04:13
Помогаю со студенческими работами здесь

Проблема при считывании из файла
Пишу простенькую программу по криптографии. В результате шифрования получается txt файлик с набором закорючек(он во вложении). Для...

Странная вещь при считывании файла
надо считать матрицу из текстового файла в класс, но с некоторого момента из файла уже ничего не считывается, хотя осталось там еще 14...

Ошибка, при считывании инфы с файла...
Вот есть код:#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;fstream.h&gt; #include &lt;stdio.h&gt; #include...

При считывании из файла не выводится отчество
Необходимо прочитать из файла фамилию студента, имя и отчество. И вывеси на экран фамилию и инициалы. Вот код, но выводит ерунду...

Неверная кодировка при считывании из файла
Проблема такая, при считывание из файла идет кракозябра, как это исправитьsetlocale(LC_ALL, &quot;rus&quot;); FILE *fp; if(!(fp =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru