Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шеннон-Фано Создаю уже 4 тему, только теперь с другой целью. Если у кого будет такая же проблема с курсовой, то, надеюсь, он найдет на просторах интернета мой вариант с динамическими структурами: #include... https://www.cyberforum.ru/ cpp-beginners/ thread1268348.html C++ Serpent Шифрование
Здравствуйте! Можно ли спросить, где описан пример шифрования plaintext вручную, хотелось бы посмотреть на все раунды от plaintext до ciphertext и расшифрование вручную. В статьях в основном...
C++ Вставка нового элемента в линейный односвязный список перед элементом с максимальным значением ключа https://www.cyberforum.ru/ cpp-beginners/ thread1268313.html
Привет, всем. Помогите, разобраться с добавлением нового элемента в линейный односвязный список перед элементом с максимальным значением ключа intKey. Есть по поиску максимального значения среди...
C++ Задача "Ковровая дорожка" https://www.cyberforum.ru/ cpp-beginners/ thread1268307.html
Пытался решить задачи методами что знаю(ну логически решить),но для наведения хоть на какието мысли зашёл сюда. Итак задача(скоратил чтоб не было павла ивановича и т.д): Мы знаем что в ковровую...
C++ Одномерный динамический массив, передача в функции, добавление и удаление элемента
Разбираю одномерные динамические массивы. Пока всё просто, пока и не возникает вопросов. Массив объявил, проинициализировал, сгенерировал и вывел. Застрял на реализации меню вывода массива через...
C++ Тождество (разбор строк) https://www.cyberforum.ru/ cpp-beginners/ thread1268301.html
Вам необходимо проверить домашнюю работу Васи Пупкина, в которой он написал равенство. Например, запись вида «2+3=5» является правильной, а «237=421» неверная, но корректная. Корректной записью...
C++ Сначала расположить все элементы, отличающиеся от максимального не более чем на 20%, потом — остальные https://www.cyberforum.ru/ cpp-beginners/ thread1268295.html
В общем, вот задание: В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, меньших С 2) сумму целых частей элементов массива, расположенных...
Примеры из Освой самостоятельно C++ за 21 день и из прочих книг C++
Доброго дня! У меня давно уже вообще лежит книга Джесс Либерти Освой самостоятельно C++ за 21 день (2000).pdf . Так вот, примеры из нее не копируются. Ну я копирую- копирую, правая мыш спрашевает...
C++ Одномерный массив, определение элементов по формуле Как можно переделать код что бы массив строился после первого введенного с клавиатуры элемента (в данном случае тройки) и до 10. Я так понимаю с помощью счетчика по типу int x; Cout<<t<<endl; t=t+1;... https://www.cyberforum.ru/ cpp-beginners/ thread1268286.html C++ Отсортировать косинусы элементов массива Здравствуйте. Только начинаю изучать C++. Столкнулся с некоторыми проблемами: Написал вот такую программу: #include <iostream> #include <math.h> #define M_PI ((double)3.141592653589793) using... https://www.cyberforum.ru/ cpp-beginners/ thread1268278.html
C++ Писать в консоли на предыдущей строке
как можно писать в консоли на предыдущей строке? или хотя бы сделать так чтобы курсор не перескакивал при считывании на следующую строку? читаю вот так: std::string str; std::getline(std::cin,...
C++ Сортировка динамического массива https://www.cyberforum.ru/ cpp-beginners/ thread1268271.html
for(int i=0;i<size1;++i) { int *a=&i; int *tmp=&mas1; for(int j = i + 1; j < size1; ++j) { if(mas1<*tmp) { *a=j; *tmp=mas1;
Я в этом не шарю
3 / 3 / 3
Регистрация: 03.09.2014
Сообщений: 191
13.10.2014, 11:49  [ТС] 0

Fstream пишет 13 вместо 10 - C++ - Ответ 6714929

13.10.2014, 11:49. Показов 1338. Ответов 4
Метки (Все метки)

Ответ

новая проблема. пытаюсь читать текст "Неделя-2", программа прочитывает текст, но после чтения "работа программы была прекращена". причем если написать "Неделя -2", всё нормально читается.
перепробовал все, даже текстовый режим пробовал включать, но все равно такая комбинация вызывает ошибку.
рослеживал размер текста, длинну текста. всё верно. 400ggпп-2 прочитало нормально
в хексе у меня2 байта длинна текста и далее сам текст. код чтения текста
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
pstr FDB_FILE::ReadStr(int pos, strdata*_str)
{
    if (!IsOpen()||err)
        return new char(0);
 
    int size;
    pstr temp;
 
    if (pos+1<GetSize())
    {
        file.seekg(pos,file.beg);
        size = Number(ReadPos(2,pos),2);//Number преобразует char[] в число
        //std::cout<<size<<std::endl;
        temp = ReadPos(size,pos+2);
        temp[size]=0;
        //std::cout<<temp<<std::endl;
    }else{
        temp = new char(0);
        size = 1;
        err = true;
        errname = "Read String pos bigger than file size";
        Close();
    }
    if (_str)
    {
        _str->data = temp;
        _str->length = size;
        //std::cout<<"ret"<<std::endl;
    }
    return temp;
}
мистика какая-то

Добавлено через 2 минуты
такое чуство, что fstream читает какие-то 2 символа как один, или же просто какой-то символ пропускает и это и является проблемой

Добавлено через 4 минуты
вообщем нашёл когда это происходит.
если символов к прочтению 8 и если текст оканчивается цифрой, получается ошибка

Добавлено через 3 минуты
нет скорее если вообще длинна текста 8 символов

Добавлено через 5 минут
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
pstr FDB_FILE::ReadPos(int size, int pos)
{
    if (!IsOpen()||err)return new char(0);
    if (size>datamax)
    {
        err = true;
        errname = "Read size bigger than 'datamax'";
        Close();
        return new char(0);
    }
    if (size+pos>GetSize())
    {
        err = true;
        errname = "Read size bigger than file size";
        Close();
        return new char(0);
    }
 
    //delete [] data;
    data = new char[size];
    file.seekg(pos,file.beg);
    file.read(data,size);
    data[size]=0;
    return data;
}
Добавлено через 46 минут
странно, но помогла пересборка всего проэкта.
танцы с бубном продолжаются

Вернуться к обсуждению:
Fstream пишет 13 вместо 10 C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2014, 11:49
Готовые ответы и решения:

Asus S301L вместо з пишет *
Всем привет. у меня ноут Asus S301L Сегодня вдруг стал писать вместо буквы з или английской p...

В адресной строке вместо localhost пишет [::1]
Добрый день. У меня в адресной строке сайта на локале, вместо localhost пишет Что это не пойму, в...

Cout пишет адрес вместо значения
cout пишет адрес вместо значения. Спасибо

Глючит fwrite (пишет 5 байт вместо 4)
Среда: C++ Builder 2010. В некий файл пишутся всякие бинарные данные (типы char/int/long) при...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2014, 11:49

Вместо открытия браузера программа пишет букву
Итак, я хочу, чтобы когда пользователь писал программе &quot;открой браузер&quot; она нам задавала вопрос...

в бд в столбце string пишет 1 вместо нужной мне строки
вобщем есть калькулятор, результаты его работы мне нужно сохранять в бд &lt;?php //Дата $date...

Надо исправить задачу (ошибка пишет в while) или перепишите вместо while, в for
var a:array of integer; st:array of integer; rez:array of integer; sum,i,j,k,x,s,n:integer;...

При создании таблицы из Lazarus в Excel вместо русских букв пишет ?
procedure TForm1.ButtonOtchetClick(Sender: TObject); var wss: String; ExcelApp, Workbook,...

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