我正在研究一个微不足道的问题,但我无法弄明白。该程序应该在" simon说"之后推出该部分。如果str1
的开头是"西蒙说"。如果我像下面的代码一样运行它,它可以工作,但如果我自己输入字符串cin >> str1;
,它不会。有人给我一个提示吗? (是的,这是一个kattis问题)
int main()
{
string str1("simon says write a program");
//cin >> str1;
string str2 ("simon says");
if (str1.compare(0,10,str2,0,10) == 0){
cout << str1.substr(11,str1.size());
}
return 0;
}
答案 0 :(得分:4)
这是因为std :: cin获得了以空格分隔的字符串。如果您尝试使用
从标准输入中读取字符串import pygame, sys
from pygame.locals import *
pygame.init()
#Create a displace surface object
#Below line will let you toggle from maximize to the initial size
DISPLAYSURF = pygame.display.set_mode((400, 300), RESIZABLE)
mainLoop = True
while mainLoop:
for event in pygame.event.get():
if event.type == pygame.QUIT:
mainLoop = False
pygame.display.update()
pygame.quit()
你将进入“西蒙说”,“西蒙”将登陆str1,“说”将进入str2。要阅读整行,您应该使用
std::cin << str1;
// something here
std::cin << str2;
答案 1 :(得分:1)
使用scope :with_account, -> (user_id) { where(account_id: user_id) }
scope :active, -> { where(status: ACTIVE) }
scope :all_except, -> (user_id) { where.not(id: user_id) }
User.active.with_account(current_user.account_id)
.all_except(current_user.account_id)
时,如果您为“Simon write something”这句话打印str1,您会看到cin >> str1
的值为“Simon”。
要不将句子剪切到第一个空格,请将str1
替换为cin >> str1