簡體   English   中英

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

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

據我了解,您只需要用空格替換換行符:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM