C++ 是否可以将带有换行符的文本传递给 C++ 程序?
C++ Is it possible to pass text with line breaks to a C++ program?
我正在使用 system() 函数通过 PHP 调用 C++ 程序:
$use = '"' . $_POST['source'] . '"';
system("Subject " . $use);
其中 $use 存储一些可能包含换行符的文本,并使用 $_POST 变量将其自身传递给 PHP 程序。如果我将这个变量传递给 C++ 程序并且包含的文本有换行符,那么只有第一行会传递给程序。我试图通过使用两个引号来避免这种情况,但这不起作用。因此,如果输入例如
word 1
word 2
然后只有单词 1 被传递给 C++ 程序。相反,如果输入的形式为
word 1 word 2
当然一切正常。
如果有解决方案,我该如何解决?
据我了解,您只需将换行符替换为空格即可:
$use= str_replace ("\n", " ", $use);
您需要为命令行转义$use
system("Subject " . escapeshellarg($use))
我正在使用 system() 函数通过 PHP 调用 C++ 程序:
$use = '"' . $_POST['source'] . '"';
system("Subject " . $use);
其中 $use 存储一些可能包含换行符的文本,并使用 $_POST 变量将其自身传递给 PHP 程序。如果我将这个变量传递给 C++ 程序并且包含的文本有换行符,那么只有第一行会传递给程序。我试图通过使用两个引号来避免这种情况,但这不起作用。因此,如果输入例如
word 1
word 2
然后只有单词 1 被传递给 C++ 程序。相反,如果输入的形式为
word 1 word 2
当然一切正常。
如果有解决方案,我该如何解决?
据我了解,您只需将换行符替换为空格即可:
$use= str_replace ("\n", " ", $use);
您需要为命令行转义$use
system("Subject " . escapeshellarg($use))