LINUX.ORG.RU

Почему не разбивается строка через split() ?

 


0

1

Почему не разбивается строка?

Вот код:

 qDebug() << "String: " << editorConfig->get_tools_line_1();
 
 toolsListInLine1==(editorConfig->get_tools_line_1()).split(",");

 qDebug() << "String list: " << toolsListInLine1;

Вот что он выводит:

23:40:41 [DBG] String:  "clear,bold,italic,underline,monospace,code,separator,alignleft,aligncenter,alignright,alignwidth,numericlist,dotlist,indentplus,indentminus,separator,showformatting,findtext,showhtml,insert_image_from_file,fontcolor,settings,expand_edit_area,expand_tools_lines,save"

23:40:41 [DBG] String list:  ()

а должен выводить вместо круглых скобок:

("clear", "bold", "italic", ...)

Что неправильно делаю???

★★★★★

Ответ на: комментарий от EXL

Адаптирую MyTetra под Android.

В планшетном режиме уже в принципе работает. Щас пытаюсь сделать настраиваемый интерфейс, чтобы работал в мобильном режиме на 4-5" экранах.

https://github.com/xintrea/mytetra_dev/commits/experimental

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от xaizek

А предупреждения компилятора выключены или игнорируются? Он о таком бы предупредил.

Стандартные предупреждения включены. Ну во всяком случае про неиспользуемые переменные предупреждает. Я специально не настраивал, что идет дефолтно в Qt5.3.2, то и использую.

Сейчас специально проверил - не предупреждает.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от EXL

Заругается, в man gcc написано, что -Wall включает -Wunused-value, да и я проверял прежде чем писать. -pedantic тут не особо при чём, так как он больше на соответствие стандартам влияет, это -Wextra включает ещё один пакет предупреждений.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Странно, но у меня ничего не ругается:

main.cpp:

#include <QCoreApplication>
#include <QDebug>
#include <QString>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString lol = "clear,bold,italic,underline";

    qDebug() << lol;

    QStringList test;

    test == (lol.split(","));

    qDebug() << test;

    return a.exec();
}
05:09:14: Starting: «/usr/bin/make» 
g++ -c -pipe -Wextra -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_CORE_LIB -I/opt/QtSDKs/Qt5.3.2/5.3/gcc_64/mkspecs/linux-g++ -I../untitled -I/opt/QtSDKs/Qt5.3.2/5.3/gcc_64/include -I/opt/QtSDKs/Qt5.3.2/5.3/gcc_64/include/QtCore -I. -I. -o main.o ../untitled/main.cpp
g++ -Wl,-O1 -Wl,-rpath,/opt/QtSDKs/Qt5.3.2/5.3/gcc_64 -Wl,-rpath,/opt/QtSDKs/Qt5.3.2/5.3/gcc_64/lib -o untitled main.o   -L/opt/QtSDKs/Qt5.3.2/5.3/gcc_64/lib -lQt5Core -lpthread 
05:09:15: The process «/usr/bin/make» exited normally.
exl@exl-Lenovo-G560e:~$ g++ --version
g++ (Ubuntu 4.9.1-16ubuntu6) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

Даже если qDebug() << test; закомментировать, предупреждение не генерируется.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

В 4.8 работает:

λ desktop /tmp → cat test.cpp
int main(void) {
    int x;
    x == 3;
}
λ desktop /tmp → g++ -Wall test.cpp
test.cpp: In function ‘int main()’:
test.cpp:3:7: warning: statement has no effect [-Wunused-value]
     x == 3;
       ^
λ desktop /tmp → 
theNamelessOne ★★★★★
()
Ответ на: комментарий от EXL

Ваша правда, я не учёл, что там не примитивные типы в сравнении. Это вызов метода, у которого могут быть побочные эффекты, в этом случае компилятор молчит.

xaizek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.