Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;是否可以将带换行符的文本传递给C++;节目? 我用PHP调用C++程序,使用Sypor()函数: $use = '"' . $_POST['source'] . '"'; system("Subject " . $use);_Php_C++_Command_Arguments_Line - Fatal编程技术网

C++;是否可以将带换行符的文本传递给C++;节目? 我用PHP调用C++程序,使用Sypor()函数: $use = '"' . $_POST['source'] . '"'; system("Subject " . $use);

C++;是否可以将带换行符的文本传递给C++;节目? 我用PHP调用C++程序,使用Sypor()函数: $use = '"' . $_POST['source'] . '"'; system("Subject " . $use);,php,c++,command,arguments,line,Php,C++,Command,Arguments,Line,其中$use存储一些可能包含换行符的文本,并使用$\u POST变量将其自身传递给PHP程序。如果我把这个变量传递给C++程序,并且包含的文本有断线,那么只有第一行传递给程序。我试图通过使用两个引号来避免这种情况,但这不起作用。例如,如果输入是 word 1 word 2 只有Word 1被传递给C++程序。相反,如果输入的格式为 word 1 word 2 当然,一切都很好 如果有解决方案,我如何解决这个问题?据我所知,您只需要用空格替换换行符: $use= str_replace (

其中$use存储一些可能包含换行符的文本,并使用$\u POST变量将其自身传递给PHP程序。如果我把这个变量传递给C++程序,并且包含的文本有断线,那么只有第一行传递给程序。我试图通过使用两个引号来避免这种情况,但这不起作用。例如,如果输入是

word 1  
word 2

只有Word 1被传递给C++程序。相反,如果输入的格式为

word 1 word 2
当然,一切都很好


如果有解决方案,我如何解决这个问题?

据我所知,您只需要用空格替换换行符:

$use= str_replace ("\n", " ", $use);

据我所知,您只需将换行符替换为空格:

$use= str_replace ("\n", " ", $use);

您需要为命令行转义
$use

system("Subject " . escapeshellarg($use))

您需要为命令行转义
$use

system("Subject " . escapeshellarg($use))

我真的希望这是一个不会在公众中流传的脚本,而是一个只有你才能访问的脚本。如果不是的话,这是一扇通向服务器的大门。@MagnusEriksson公平地说,可以很好地处理任意命令。你可以运行任何你想运行的东西,但是你不可能完成任何破坏性的事情。
var\u dump($\u POST['source'])
@Magnus erikson的输出是什么?我主要是为了学习,所以是的,只有我可以访问这个脚本。或者你所说的访问权到底是什么意思?正在读取源代码,或者正在传递来自其他程序的参数,而其他人可能也有过多的访问权限?事实上没有,因为我在我的本地机器上做所有这些事情,我只是好奇。我的意思是,如果脚本将在公共服务器上(任何人都可以发布他们想要的任何内容),但如果它只是在你的本地机器上,那么就不用担心了。我真的真的希望这是一个不会在公众中流行的脚本,而是只有你才能访问的东西。如果不是的话,这是一扇通向服务器的大门。@MagnusEriksson公平地说,可以很好地处理任意命令。你可以运行任何你想运行的东西,但是你不可能完成任何破坏性的事情。
var\u dump($\u POST['source'])
@Magnus erikson的输出是什么?我主要是为了学习,所以是的,只有我可以访问这个脚本。或者你所说的访问权到底是什么意思?正在读取源代码,或者正在传递来自其他程序的参数,而其他人可能也有过多的访问权限?事实上没有,因为我在本地机器上做所有这些事情,我只是好奇。我的意思是,如果脚本将在公共服务器上(任何人都可以发布他们想要的任何内容),但如果它只是在本地机器上,那么就不用担心了。是的,我也考虑过这一点,但是这样做的缺点是文本的原始结构会被破坏,因为这个命令的结果是所有的换行符都会消失。是的,我对结构不是很清楚,但是你可以尝试只替换子字符串,而不是整个字符串是的,我也考虑过这个问题,但是这样做的缺点是文本的原始结构会被破坏,因为这个命令的结果是所有的换行符都会消失。是的,我对结构不太了解,但是你可以尝试只替换子字符串,而不是整个字符串。我不知道为什么,但不知怎么的,这不起作用。我编写了最简单的C++程序,用于测试目的;它只是收集传递的输入并将其显示在屏幕上,但仍然只有第一个换行符之前的内容显示在屏幕上。我不知道为什么,但不知怎么的,这不起作用。我编写了最简单的C++程序,用于测试目的;它只是收集传递的输入并将其显示在屏幕上,但仍然只有第一个换行符之前的内容显示在屏幕上。