我需要将输入的字符数组转换为所有小写字母。读数在“。”处停止。字符。我必须这样做,而不必使用字符串变量或库中的任何函数。
#include <iostream>
using namespace std;
int main(){
char s[200], *p=s;
cin.getline(s, 200, '.');
while(p){
if('a' <= *p && *p <= 'z') *p += 'A'-'a';
p++;
}
cout << s;
}
该算法应该检查数组中的每个字符,直到遇到空指针为止。然后,对于每个字符,它应该检查它是否为小写字符。如果是,则将其更改为大写字母(通过减小“ a”,它表示字母的第一个字母与它所指代的字母之间的差异;通过增大“ A”,则将其差异添加到大写字母中)可以说是大写字母,从而获得字母的大写版本。
我不知道我的错误在哪里,但是当我尝试运行它时,我的编译器崩溃了。
答案 0 :(得分:1)
LookupCombo.Completed += async (object sender, CompletedEventArgs e) =>
{
C1AutoComplete AC = (C1AutoComplete)sender;
if (AC.Text.Trim() != "")
{
string sColName = AC.AccessibilityIdentifier.Trim();
var ValuesVC = (List<Lookupcombo_Entry>)AC.ItemsSource;
var IsThisAHit = from Lookupcombo_Entry in ValuesVC
where Lookupcombo_Entry.sDispVal.ToUpper().Trim() == e.value.ToUpper().Trim()
select Lookupcombo_Entry.sMapVal;
if (!IsThisAHit.Any())
{
string sTitle = "";
string sFull = _RM.GetString(sColName);
if (sFull == null) { sFull = "???-" + sColName.Trim(); }
sTitle = " Add New " + sFull.Trim() + "?";
string sPPrompt = "Do you want to add a new " + sFull.Trim() + " named " + AC.Text.Trim() + " to the Database?";
var popupResult = await AlertPopups.AskUser(CurrentViewController(), V, sTitle, sPPrompt, MessagePopupType.YesNo);
}
}
};
应该是
private UIViewController CurrentViewController()
{
var window = UIApplication.SharedApplication.KeyWindow;
var vc = window.RootViewController;
while (vc.PresentedViewController != null)
{
vc = vc.PresentedViewController;
}
return vc;
}
如果您希望停止使用null终止符,则需要取消引用该指针,否则将测试该指针不是null。
旁注:您可能会发现while (p)
函数很有帮助。