我正在批量制作一个实验程序,用于简单的聊天界面。在这一个中,我创建了一个函数,如果在聊天中放置了单词r,它会忽略它并再次重新显示文本文件。如果我把r放进去就可以正常刷新,如果我放一个单词就可以了,但是如果我把一个单词和一个空格和另一个单词放在一起,它会断开并显示以下错误:
Chat(Put r for refresh):hey hi
hi was unexpected at this time.
有谁知道如何解决这个问题?感谢。
代码:
@echo off
cls
cd %USERPROFILE%\Desktop\Chat
for /f "delims=" %%A in (chat.txt) do (
set %%A
)
echo %chatt%
echo %chatp%
echo %chatn%
cd %USERPROFILE%\Desktop\Chat\Servers\%chatt%
:1
cls
type %chatn%.chat
set /p in=Chat(Put r for refresh):
if %in% == r goto 1
echo %chatp%: %in%>>%chatn%.chat
goto 1
答案 0 :(得分:1)
处理字符串变量内容中的空格的常用方法是将其包装在引号中。这就是这种情况。当您使用g++ 5.4.0
变量内容时,内容将逐字插入,因此可疑行将如下所示:
-std=c++0x
它开始时没关系%in%
但是它不会看到if hey hi == r goto 1
这样的比较运算符,而是看到if hey
并且窒息。所以用引号括起来:
==
这样就会被解释为
hi
并且蝙蝠引擎会知道"嘿嗨"应该被视为一个实体。