Набор программ для распаковки/запаковки файлов strings. Используется для избавления от кракозябр в редакторе Creation Kit. Работает в паре с Skyrim Strings Localizer. При помощи Skyrim Strings Localizer преобразовать файлы strings в .csv, изменить кодировку на ANSI с помощью Notepad++ или другого редактора, положить .csv в папку с программой, поправить имена файлов в файле start.bat (в примере start.bat настройки под Fallout 4), запустить файл start.bat и положить полученные файлы в папку с игрой (DataStrings), предварительно переименовав языковой суффикс с _ru на _en. Отключить параметр sLanguage=ru в CreationKit.ini и наслаждаться отсутствием кракозябр в редакторе. Применимо для Creation Kit для Skyrim, SkyrimSE, Fallout 4. Требуемое программное обеспечение: .NET Framework 4
Источник: storage-mods.ru
Lindsey Stirling & Peter Hollens — Skyrim (Official Music Video)
Скайрим strings что это
Nexus Mods RU
Новости 117 Файлы 2238 Комментарии 411
История Летоса Lethos Story Подробнее
Мужской реплейсер тел и лиц Подробнее
Осень в вайтране Подробнее
Ashara Dimonized Dress and jewelry — UNP — male Подробнее
Удаление лишних надписей Подробнее
Реалистичная трава — HD текстуры Подробнее
Строковый объект может быть литералом или идентификатором. Обратите внимание, что в объявлении объекта sstream используется «stringstream», а не «sstream», хотя оба термина означают одно и то же. В директиве include следует использовать термин sstream.
Выходная операция Stringstream
Слово — это любой строковый текст, в котором нет пробела (’’). Вывод из строкового потока означает отправку строкового слова из объекта sstream в строковый объект. Для этого нужен оператор извлечения (>>). Следующая программа отправляет слово из объекта sstream в строковый объект:
#include
#include
#include
using namespace std ;
int main ( )
stringstream strm ;
strm
string stri = «hate» ;
strm >> stri ;
cout
return ;
>
Любое строковое значение, которое могло быть у строкового объекта, заменяется. Если поток строк объявлен выше и без каких-либо аргументов, то он предназначен для ввода или вывода.
Если в строковом значении объекта строкового потока (буфера) есть пробелы, то будет отправлено только первое слово. Функция-член sstream, str (), должна использоваться для отправки всего строкового значения, включая пробелы. Str () может использоваться для преобразования строкового литерала в содержимое sstream. Его также можно использовать для возврата всего содержимого буфера потока, включая пробелы, в строковый объект. Следующая программа иллюстрирует это:
Это делает каждый игрок Skyrim #shorts
I love her, but he hates her.
Отправка первых нескольких слов в переменные
«Я люблю ее, но он ее ненавидит».
Если первые 5 слов должны быть представлены переменными a, b, c, d, e, то эти переменные можно сделать так, чтобы они содержали слова. Следующий код иллюстрирует это:
I love her, but he
Отдельный символ — это слово. Обратите внимание, что запятая была соединена со словом «она». Если бы запятая была отделена от «ее», то это считалось бы отдельным словом.
Подсчет количества слов в строковом литерале
В предыдущем разделе были идентифицированы только первые 5 слов. Чтобы передать все слова в разные переменные, необходимо знать количество слов. Если проблема заключается только в том, чтобы узнать количество слов в буфере sstream, то это можно сделать в цикле while. Он заключается в отправке всех слов в одну переменную, при подсчете количества раз, когда выполняется отправка, и до тех пор, пока не будет достигнут конец потока (конец файла). Следующий код иллюстрирует это:
#include
#include
#include
using namespace std ;
int main ( )
stringstream strm ;
strm
int counter = ;
string temp ;
while ( ! strm. eof ( ) )
strm >> temp ;
counter + = 1 ;
>
cout
return ;
>
Выход 7. Точка ставится на второй «ней». Обратите внимание, что индикатором конца файла является функция-член sstream, eof ().
Частоты отдельных слов
В строковом значении
«I love her, and he loves her sister, though he hates her brother.»
Слово «она» встречается 3 раза, и частота «ее» указывается равной 3. Слово «он» встречается 2 раза, а частота «он», как говорят, равна 2. слова имеют частоту 1 каждое. Частоту каждого слова можно определить следующим образом:
Имейте все слова на карте C ++ без повторения. Рассмотрим следующее утверждение:
где mp — объект карты. В первый раз, когда этот оператор встречается в цикле while, он вписывается в новую пару ключ / значение, ключ которой является строковым словом переменной temp, а значение равно 1. В следующий раз, когда он встречается в том же цикле while- цикл, с этим конкретным ключом на карту не добавляется новая пара ключ / значение. Значение этой пары ключ / значение просто увеличивается.
Итак, стратегия состоит в том, чтобы этот оператор находился в цикле while, а все слова в буфере ssstream считывались во временную переменную. И каждое значение для каждой пары ключ / значение на карте, наконец, становится частотой ключа (слова). Следующая программа иллюстрирует это:
#include
#include
#include
#include
using namespace std ;
int main ( )
stringstream strm ;
strm
string temp ;
map < string, int >mp ;
while ( strm >> temp )
mp [ temp ] ++ ;
>
for ( map < string, int >:: iterator it = mp. begin ( ) ; it ! = mp. end ( ) ; it ++ )
cout first « second
return ;
>
Строка в число и наоборот
Строка в число
Чтобы преобразовать строковое слово в число, просто отправьте строковое слово из буфера sstrream в переменную, объявленную как число. Чтобы преобразовать в int, отправьте строковое слово в переменную типа int. Чтобы преобразовать в число с плавающей запятой, отправьте строковое слово в переменную с плавающей запятой. Следующая программа иллюстрирует это:
#include
#include
#include
using namespace std ;
int main ( )
stringstream strm ;
strm
int myInt ;
strm >> myInt ;
int intResult = myInt + 10 ;
cout
strm
float myfloat ;
strm >> myfloat ;
float fltResult = myfloat + 0.3 ;
cout
return ;
>
Число в строку
Чтобы преобразовать число в строковое слово, просто отправьте число в буфер sstream. Затем считайте буфер потока в строковый объект. Чтобы преобразовать int в строку, отправьте целое число в поток sstream. Чтобы преобразовать число с плавающей запятой в строку, отправьте его в поток sstream. Следующая программа иллюстрирует это:
#include
#include
#include
using namespace std ;
int main ( )
stringstream strm1 ;
int myInt = 30 ;
strm1
string intStr ;
strm1 >> intStr ;
string intStrRes = intStr + » good» ;
cout
stringstream strm2 ;
float myflt = 2.5 ;
strm2
string fltStr ;
strm2 >> fltStr ;
string fltStrRes = fltStr + » yes» ;
cout
return ;
>
Здесь используются два объекта потока для разных числовых типов.
Примечание : буфер sstream состоит только из символов.
Заключение
Stringstream означает String Stream. Он также записывается как sstream. Это ручей. Целью этого потока является строковый объект. В потоке можно использовать оператор вставки (<<) и оператор извлечения (>>).
Поток очень полезен для следующих целей: подсчет количества слов в строковом объекте, получение частот отдельных слов в строковом объекте и преобразование слова в текстовой форме в строковом объекте в число и наоборот.
Источник: bestprogrammer.ru