我知道在C ++和PHP中,您可以使用硬编码文本填充字符串或文件。如果我没记错的话,这应该是它的样子:
var <<< DELIMITER
Menu for program X
1.Add two numbers
2.Substract two numbers
3.Multiply two numbers
Please pick an option from (0-3);
DELIMITER
这可以用于无论标题如何都保持不变的菜单或文本。但不必这样做:
foobar << "Menu for program X" << endl << "1.Add two numbers" << endl << "2.Substract two numbers"
答案 0 :(得分:18)
C ++与PHP的HEREDOC语法没有任何等价。
但是,您可以在C ++中执行此操作:
cout << " Menu for program X\n"
" 1.Add two numbers\n"
" 2.Substract two numbers\n"
" 3.Multiply two numbers\n"
" Please pick an option from (0-3);" << endl;
或者在C:
printf( " Menu for program X\n"
" 1.Add two numbers\n"
" 2.Substract two numbers\n"
" 3.Multiply two numbers\n"
" Please pick an option from (0-3);\n" );
fflush(stdout);
这直接等同于PHP的HEREDOC语法:
echo <<<EOT
Menu for program X
1.Add two numbers
2.Substract two numbers
3.Multiply two numbers
Please pick an option from (0-3);
EOT;
C和C ++的上述语法被编译器视为一个长字符串,通过将它们拼接在一起。它对字符串文字没有其他影响,因此需要'\ n'。
答案 1 :(得分:4)
在PHP中称为HEREDOC语法:
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>
答案 2 :(得分:1)
多行字符串文字?
答案 3 :(得分:1)
在Windows中,您可以将长文本存储为资源或文件。
您可以使用国际化(I18)库将其存储为Unixish。在您的程序中编写字符串(如printf( _("_xmenu_ %d, %d, %d"), 1, 2, 3)
)是一个很好的黑客,然后您可以将_xmenu_
“翻译”成英语,以及您想要支持的任何其他语言。由于翻译存储在另一个文件中,因此您无需一直查看它们,并且无需重新编译即可轻松更改。