C++ 正在尝试查找名称的中间首字母 #包括 使用名称空间std; int main(){ char sampleName[30]; 炭中部; int i; cin>>sampleName; 对于(i=0;i
我不能完全确定您预期的输入是什么,但您可能希望查看C++ 正在尝试查找名称的中间首字母 #包括 使用名称空间std; int main(){ char sampleName[30]; 炭中部; int i; cin>>sampleName; 对于(i=0;i,c++,char,C++,Char,我不能完全确定您预期的输入是什么,但您可能希望查看std::getline(与std::string)以避免std::cin>.出现空白问题(有关讨论,请参阅) 所以,某种形式 #include<iostream> using namespace std; int main(){ char sampleName[30]; char middle; int i; cin>>sampleName; for(i=0;i<30
std::getline
(与std::string
)以避免std::cin>.
出现空白问题(有关讨论,请参阅)
所以,某种形式
#include<iostream>
using namespace std;
int main(){
char sampleName[30];
char middle;
int i;
cin>>sampleName;
for(i=0;i<30;i++){
if(sampleName[i]=='.'){
middle=sampleName[i-1];
break;
}
}
cout<<middle;
return 0;
}
#包括
#包括
int main()
{
std::字符串sampleName;
炭中部;
std::getline(std::cin,sampleName);
对于(int i=0;i std::cout你有一个函数来获得一行空格。你得到了错误的输出,因为你的程序没有正确地使用空格进行输入。你能粘贴你尝试过的样本输入和输出吗?输入“JohnS.Smith”有效。(输出的)输入“JohnS.Smith”无效。(输出的“”)看这个问题:它停在space@pilotcam...啊哈…我明白了…谢谢!在链接问题中没有太多讨论,但问题的原因是操作符>>
跳过前导空格并读取字符,直到它到达空格。谢谢Obvlious船长!我不得不这么说。
#include <iostream>
#include <string>
int main()
{
std::string sampleName;
char middle;
std::getline(std::cin, sampleName);
for (int i = 0; i < sampleName.size(); i++)
{
if (sampleName[i] == '.')
{
middle = sampleName[i-1];
break;
}
}
std::cout << middle << std::endl;
return 0;
}