Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170

Как xFA запихнуть в string?

29.03.2017, 23:51. Показов 1276. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В xml фале содержится подобная штука
Как при редактировании файла её не потерять?

Под редактированием я понимаю: считывание всех строк в vector<string>
попутно изменяя в них строки, переводя
потом открытие файла в режиме записи и перезаписи всех строк

Может есть более нормальный способредактирования xml ?
Миниатюры
Как xFA запихнуть в string?  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.03.2017, 23:51
Ответы с готовыми решениями:

Как запихнуть переменную типа string в Shell Execute?
Собственно все описано в заголовке.. Не получается, потому что жалуется, что мол нужен тип PChar, а мне нужно string Переменную в...

Как запихнуть запихнуть объект Me в Long?
Как запихнуть Me в Long, а потом достать его? Спасибо?

Переменную типа string, необходимо запихнуть в свойство Edit.Left
Переменную типа string, необходимо запихнуть в свойство Image.Left Чтобы все стало понятно, вот кусок кода: procedure...

19
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
30.03.2017, 10:03  [ТС]
Вот что мне написали, на одном из англоязычных форумов:
Цитата Сообщение от Nightinggale Посмотреть сообщение
Looks like it's un-escaped characters, which is unintended. Looking at the 1252 I posted earlier, it appears to be ù;. It should be possible to write ú. This character is also not possible to write when using 1251, meaning u will have to do.
0
 Аватар для GoldenId
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 877
Записей в блоге: 10
30.03.2017, 11:08
В своё время я использовал pugixml, когда мне нужно было работать с xml... кажется, это называется DOM - document object model.
1
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
30.03.2017, 11:34  [ТС]
А можно как то не переписывая код с нуля
сделать чтение подобных символов?
0
 Аватар для GoldenId
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 877
Записей в блоге: 10
30.03.2017, 11:43
Цитата Сообщение от eXPonent Посмотреть сообщение
А можно как то не переписывая код с нуля
сделать чтение подобных символов?
Каких символов?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
30.03.2017, 11:44
ваш xml парсер не поддерживает юникод?
Цитата Сообщение от GoldenId Посмотреть сообщение
Каких символов?
в названии темы посмотрите. xFA. Насколько я понял, это именно юникодный символ.
1
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
30.03.2017, 12:02  [ТС]
Я использую обычное потоковое чтение символов с файла и загоняю в vector<string>
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
30.03.2017, 12:04
ну используйте потоковое чтение широких символов.
а загоняйте в std::vector<std::wstring>.
2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.03.2017, 12:36
0xFA (250) не влезет в char. Используйте std::wsrting и иже с ним. Хотя можете заменить и эквивалентом ú (если символ только один такой).
&# 250; (без пробела)
0
 Аватар для GoldenId
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 877
Записей в блоге: 10
30.03.2017, 16:01
Цитата Сообщение от GbaLog- Посмотреть сообщение
ваш xml парсер не поддерживает юникод?
Да, конечно:
If the size of wchar_t is 2, pugixml assumes UTF-16 encoding instead of UCS-2, which means that some characters are represented as two code points.
Добавлено через 1 минуту
В смысле, нет, конечно поддерживает.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
30.03.2017, 18:09
Цитата Сообщение от GoldenId Посмотреть сообщение
Да, конечно
вопрос был адресован не вам.
0
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
31.03.2017, 05:22  [ТС]
Цитата Сообщение от MrGluck Посмотреть сообщение
0xFA (250) не влезет в char. Используйте std::wsrting и иже с ним. Хотя можете заменить и эквивалентом ú (если символ только один такой).
&# 250; (без пробела)
А как я узнаю, если строка при чтении будет содержать в себе этот символ?
черезз find ?
а если таких символов несколько, всмысле с другими кодами

Добавлено через 12 секунд
Цитата Сообщение от GbaLog- Посмотреть сообщение
ну используйте потоковое чтение широких символов.
Обычное чтение файла этого не обеспечивает?
и можно ли как то файл не перезаписывать?
а редактировать?
например удаляя или добавляя строки

Добавлено через 9 часов 26 минут
Цитата Сообщение от GbaLog- Посмотреть сообщение
ваш xml парсер не поддерживает юникод?
изначально там стоит структура стрингов
и все это я пушбэком загоняю в вектор

Добавлено через 1 минуту
Цитата Сообщение от GbaLog- Посмотреть сообщение
ну используйте потоковое чтение широких символов.
а загоняйте в std::vector<std::wstring>.
А какое используется при открытии файла?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
31.03.2017, 05:30
Цитата Сообщение от eXPonent Посмотреть сообщение
Обычное чтение файла этого не обеспечивает?
что значит обычное чтение файла?
Цитата Сообщение от eXPonent Посмотреть сообщение
и можно ли как то файл не перезаписывать?
а редактировать?
например удаляя или добавляя строки
нет.
Цитата Сообщение от eXPonent Посмотреть сообщение
изначально там стоит структура стрингов
там, это где?
Цитата Сообщение от eXPonent Посмотреть сообщение
А какое используется при открытии файла?
что какое? чтение? зависит о того, какой поток.
0
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
31.03.2017, 08:03  [ТС]
Цитата Сообщение от GbaLog- Посмотреть сообщение
что значит обычное чтение файла?
Цитата Сообщение от GbaLog- Посмотреть сообщение
там, это где?
Цитата Сообщение от GbaLog- Посмотреть сообщение
что какое? чтение? зависит о того, какой поток.
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
inline bool NotEmpty(ifstream &file, string &str)
{
    while(getline(file, str))
        if(str.length()>5) // "<TEXT>" min(6)
            return true;
    return false;
}
inline bool FileExists(const char *fname)
{
    _finddata_t data;
    long nFind = _findfirst(fname, &data);
    if (nFind != -1)
    {
         // Если этого не сделать, то произойдет утечка ресурсов
        _findclose(nFind);
        return true;
    }
    cout << "\nФайл: " << fname << " не найден.\n";
    return false;
}
 
// Ещё чуток функций
// Кусок кода вырваный из тела:
 
    ifstream fin("1C.xml");
    if(FileExists("1C.xml"))
    {
        cout << "Загружается предыдущий перевод";
        string Tag, Rus, Eng;
        getline(fin, Tag);
        while(getline(fin, Tag)&&getline(fin, Rus)&&getline(fin, Eng))
        {
            _1C.push_back(Trans(Tag, Rus, Eng));
            if(_1C.size() % 1100 == 0) cout << '.';
        }
        cout << "\nЗагружено переводов: " << _1C.size();
        fin.close();
        return;
    }
    fin.close();
Цитата Сообщение от GbaLog- Посмотреть сообщение
нет.
жаль, ведь даже в паскале можно было походу файлы редактировать
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
31.03.2017, 08:07
Лучший ответ Сообщение было отмечено eXPonent как решение

Решение

ну замените ifstream на wifstream, string на wstring.
1
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
31.03.2017, 08:22  [ТС]
Цитата Сообщение от GbaLog- Посмотреть сообщение
wifstream
а для записи использовать значит wofstream
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
31.03.2017, 08:24
Цитата Сообщение от eXPonent Посмотреть сообщение
а для записи использовать значит wofstream
именно так, ибо ofstream не будет кушать wstring.
0
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
31.03.2017, 08:26  [ТС]
Цитата Сообщение от eXPonent Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
inline bool FileExists(const char *fname)
{
 
    _finddata_t data;
    long nFind = _findfirst(fname, &data);
    if (nFind != -1)
    {
         // Если этого не сделать, то произойдет утечка ресурсов
        _findclose(nFind);
        return true;
    }
    cout << "\nФайл: " << fname << " не найден.\n";
    return false;
}
Я так понимаю, стандартной функции на проверку присутствия файла - нет
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
31.03.2017, 08:34
Лучший ответ Сообщение было отмечено eXPonent как решение

Решение

Цитата Сообщение от eXPonent Посмотреть сообщение
Я так понимаю, стандартной функции на проверку присутствия файла - нет
отчего же нет?
в с++17 завезли http://en.cppreference.com/w/cpp/filesystem/exists.
но, думаю, будет для вас сложновато.
тем более, что ваш компилятор может этого и не поддерживать.
предлагаю старый и проверенный способ.:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
 
bool fileExists(std::wifstream & file)
{
    return file.is_open();
}
 
int main()
{
    std::wifstream file("file.txt");
    
    if (!fileExists(file))
    {
        std::cout << "ашыпка\n";
    }
    
    // продолжаем работать
}
но можно и самому проверять вместо вызова функции.
if (file.is_open() == false)
1
 Аватар для eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
01.04.2017, 01:49  [ТС]
Цитата Сообщение от GbaLog- Посмотреть сообщение
is_open();
Как раз об нём читал...

Тогда зачем был создан подобный метод что я использовал?

Добавлено через 16 часов 46 минут
Зачем все эти способы?
https://rsdn.org/article/qna/baseserv/fileex.xml
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.04.2017, 01:49
Помогаю со студенческими работами здесь

В переменную какого типа можно запихнуть двумерный массив типа String
тип Variant это правильно или можно урезать? Waches показывает тип массива String а тип переменной с массивом Variant/String Как узнать...

Как запихнуть процедуру в with?
Здравствуйте, уважаемые знатоки! Написал запрос такого типа With name1 as(запрос1 с входными параметрами @DateStart и @DateEnd), ...

Как string присвоить String? И как из string перевести в char[]?
Как string присвоить String? И как из string перевести в char?

Как запихнуть массив в файл?
Система Факультатив. Преподаватель объявляет запись на Курс. Студент записывается на Курс, обучается и по окончании Преподаватель...

Как запихнуть JPG в Bitmap
Народ объясните плз как запихнуть JPG в Bitmap, чтобы потом его можно было обрабатывать? И как получать быстрый доступ к цвету в пикселе?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru