boost :: bind - ваш друг (иногда может быть грубый способ показать его)!
использовать GUIThread = new boost::thread(boost::bind(&Main::MainThreadFunc, GUIMain));
, а затем сделать ваш MainThreadFunc регулярным членом , Это означает, что вы можете использовать переменные экземпляра напрямую, как обычно.
Что-то вроде этого:
class GUIMain {
public:
GUIMain() : m_Member(42) {}
void MainThreadFunc() {
// use all members as you would normally do
std::cout << m_Member << std::endl;
}
private:
int m_Member;
};
Чтобы получить ожидаемые результаты, вам понадобится:
$str = trim(str_replace( array("\r\n","\r","\n",' '), ' ' , $str));
или с помощью regex (который является отказоустойчивым, вы не можете учесть все дополнительные интервалы, которые вы можете получить с помощью str_replace):
$str = trim(preg_replace( array('/\v/','/\s\s+/'), ' ' , $str)); // 'Hi there'
Вы можете использовать приведенный ниже сценарий.
$ str = str_replace ("\ n", "", $ str);
Спасибо
Это немного сбивает с толку
есть ли какой-либо метод php для удаления символа новой строки из строки?
Похоже, вы действительно хотите, чтобы они были заменены пробелом.
$str = str_replace(array("\r\n", "\n", "\r"), ' ', $str);
Если замена выполняется слева направо, это должно соответствовать текстовым файлам Windows.
Первая группировка предназначена для сопоставления символов новой строки Windows, в которых используются как \ r, так и \ n.
$str=str_replace("\n", "", $str);
должно получиться.
"\n"
представляет собой новую строку в php.