Роман Макаров: Стандарты обратно совместимые. При подключении SATA-3 к SATA-2 SSD будет работать с максимальной скоростью 3 Гбит/с (384 Мбайт/с). Это вполне достаточно для посредственных SSD. Лично я вынимаю из ноутбуков всега HDD (тяжелые они) и ставлю нормальные SSD в стандартный разъем.
Олег Цилюрик: Работает демон по ссылке - www.lissyara.su/articles/freebsd/coding/socket_server
В условии if(cmd == "info") расположено то, что будет работать, если я забью по telnet-у текст "info". Если я внесу в эту функцию текст (cout << "123"), то все будет работать, если подключаться по телнету несколько раз. Как только я вставляю system("/etc/init.d/service stop"), то первый раз ответ приходит, а второй раз возвращается пустой стринг. Я никак не могу понять, почему последующие разы данная функция не выполняется также, как и раньше.
Олег Цилюрик: Понял о чем Вы. char *cmd = относится к другой части кода. В этой части нет никаких сравнений указателей. А string cmd, про который я говорю, расположен по ссылке. Каюсь, что плохо объяснил.
Хоть убейте нигде не вижу в код char *cmd =. Поиском даже прошелся. Есть только string cmd, answer;
А по поводу (void) ... еще раз повторюсь, что выдергиваю куски кода из открытых источников, чтобы проверить работоспособность, а после уже по итогам буду переписывать все под свои нужды.
Олег Цилюрик: Как вопрос может состоять в условии, если оно работает 100%? Если ниже напишу cout, то он успешно выводится. В C++ при подключении string-овской библиотеки вполне корректно можно использовать обычные стринги. Объявляется string cmd и все отлично и правильно работает. Это вполне нормальное явление. Если над каждым указателем заморачивать в тестовом куске кода, то никакой жизни не хватит на написание более менее работоспособного скрипта. Для этого и придумали библиотеку.
Олег Цилюрик: Во-первых, в C++ допускает использование таких стрингов. Во-вторых, это писал не я, это в примере по ссылке. В-третьих, вопрос состоит не в условии.
Олег Цилюрик: Выполнение через system я представил выше в тексте - system("/etc/init.d/service stop")
А нижний кусок кода - это второй вариант, который тоже не работает, но уже виснет, а не пустой стринг отдает.
Немного не то. Условие работает нормально. Не работает именно bash скрипт внутри данного условия. Работает один раз, а потом либо виснет, либо отдает пустой стринг (2 варианта кода)