Есть небольшая программа, я использовал только стандартную библиотеку, но она по разному работает под linux и windows
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
vector<string> parce(string s)
{
string ts;
vector<string> sv;
for(int i = 0; i < s.size(); ++i)
{
while (s[i] == ' ' && i < s.size()){ ++i;}
if (s[i] == '\"')
{
++i;
while(s[i] != '\"' && i < s.size())
{
ts.push_back(s[i]);
++i;
}
sv.push_back(ts);
} else {
while (s[i] != ' ' && i < s.size())
{
ts.push_back(s[i]);
++i;
} sv.push_back(ts);}
ts.clear();
}
for(int i = 0; i < sv.size(); ++i)
cout << "{" << sv[i] << sv[i].size() << "}" << endl;
return sv;
}
int main() {
ifstream uiFile;
uiFile.open("ui.ui");
string g;
while (getline(uiFile, g))
parce(g);
return 0;
}
вот файл который читает
pic:
name: "1.bmp"
pos: 0 0
end
pic:
name: "5.bmp"
pos: 100 100
end
pic:
name: "back.bmp"
pos: 20 400
action: load: "ui.ui"
end
Выдаёт в консоль какой то бред
5}ic:
{name4}
{data/splash11}
1}
4}nd
В Windows всё норм, ума не приложу что делать. Под Windows компилировал MinGW а под Linux g++
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему появляется эта ошибка? Когда я не использую !file2eof, ошибка не возникает
Компилирую проект с бустомКомпилируется нормально, при линковке постоянно вылетает ошибка: