是否有一个干净的,最好是标准的方法来修剪C中字符串的前导和尾随空格?我会自己动手,但我认为这是一个同样常见的解决方案的常见问题.
如果我使用以下Windows批处理代码段并运行它:
echo foo
if 1 == 1 (
echo bar
goto asdf
:asdf
echo baz
) else (
echo quux
)Run Code Online (Sandbox Code Playgroud)
我期望的输出是:
foo
bar
bazRun Code Online (Sandbox Code Playgroud)
但相反,我得到:
foo
bar
baz
quuxRun Code Online (Sandbox Code Playgroud)
如果我注释掉该goto asdf行,它会给出我期望的输出.这echo quux条线永远不应该被排除,那么为什么goto的存在会导致这种情况发生呢?
更新:对于它的价值,这里是一个正确执行我最初预期的解决方法:
goto BEGIN
:doit
echo bar
goto asdf
:asdf
echo baz
goto :EOF
:BEGIN
echo foo
if 1 == 1 (
call :doit
) else (
echo quux
)Run Code Online (Sandbox Code Playgroud)
但是,这不符合我原来的问题.