有时我需要确定某个整数是偶数.因此我可以使用以下代码:
int number = /* magic initialization here */;
// make sure the number is even
if ( number % 2 != 0 ) {
number--;
}
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有被非常有效的最有效的方式做到这一点,所以我可以做到以下几点:
int number = /* magic initialization here */;
// make sure the number is even
number &= ~1;
Run Code Online (Sandbox Code Playgroud)
但(除了不可读)我不确定该解决方案是否完全可移植.
注意:此代码应该只适用于正整数,但有一个解决方案也适用于负数将是一个加号.
我正在开发一个应用程序,我希望在Windows Phone 7上接听电话.如果有任何API暴露在同样的情况下,你能告诉我吗?
目前我有:
[A-Za-z0-9._%+-]
Run Code Online (Sandbox Code Playgroud)
这匹配包含字母,数字和某些特殊字符的任何字符串(._%+-)
如何更改此值以使其不会与包含特殊字符的字符串连续匹配?
举例来说,我希望它匹配:
foo.bar+test和foo.+bar和+foo.
但不是:
foo..bar+test或foo.bar++test或foo.bar++
我试图导出没有私钥的证书,如BASE-64编码文件,与从Windows导出它相同.从Windows导出时,我可以在记事本中打开.cer文件.
当我尝试以下操作并在记事本上打开时,我得到二进制数据......我认为它是......不可读的.
X509Certificate2 cert = new X509Certificate2("c:\\myCert.pfx", "test", X509KeyStorageFlags.Exportable);
File.WriteAllBytes("c:\\testcer.cer", cert.Export(X509ContentType.Cert));
Run Code Online (Sandbox Code Playgroud)
我尝试删除'X509KeyStorageFlags.Exportable',但这不起作用.我错过了什么吗?
编辑 - 我试过了
File.WriteAllText("c:\\testcer.cer",Convert.ToBase64String(cert.Export(X509ContentType.Cert)))
Run Code Online (Sandbox Code Playgroud)
然而,这似乎有效,错过了"-----开始证书-----"和"-----结束证书-----"
我目前在托管的Web服务器上有一个svn存储库.我在本地工作,将我的更改提交到我的服务器上的存储库,然后当我准备推送更改时,通过我的实时文件夹中的ssh运行"svn update".
我现在正在添加一个暂存站点,它将驻留在同一台服务器上.它只是同一台服务器上的另一个文件夹.
问题是我将在登台服务器上对网站进行稍微更大的更改,这可能需要长达一周的测试时间.在此期间,我可能希望对不需要测试的实时网站进行小的修饰.我们来举个例子:
这迫使我跟踪转速并不断更新和恢复.有没有更好的办法?我觉得我应该在这里使用分支和标签,但我不明白究竟是怎么回事.
谢谢,约拿
我试图通过我的应用程序更新地址簿中现有联系人的内容,但不需要UI.场景是这样的:
1用户输入一个号码和一个名称2应用程序检查该名称是否在联系人列表3中,如果是,则检查该号码是否是该名称的联系人之一4如果不是,则将其添加到该名称
我已经设法完成步骤1-3但我找不到办法4.可以帮助吗?
如果我的代码看起来像下面
...
CFIndex lTotalContactsCount = ABAddressBookGetPersonCount(lAddressBook);
NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(lAddressBook );
for (CFIndex i = 0; i < lTotalContactsCount; i++)
{
ABRecordRef lRef = (ABRecordRef)[people objectAtIndex:i];
...
// if names match
{
ABMutableMultiValueRef lPhoneNumbers = ABRecordCopyValue(lRef, kABPersonPhoneProperty);
CFIndex lContactPhoneNumberCount = ABMultiValueGetCount(lPhoneNumbers);
ABRecordID contactID = ABRecordGetRecordID(lRef);
...
// if numbers dont match
{
// THIS BIT IS NOT WOKRING
CFErrorRef error = NULL;
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, number, (CFStringRef)@"Duplicate", NULL);
// ABRecordSetValue(newPerson, kABPersonFirstNameProperty, name, &error);
//add …Run Code Online (Sandbox Code Playgroud) 有没有办法让Bash将STDOUT/STDERR重定向到一个文件,但仍然将它们打印到终端?
我正在使用以下内容编写一个包含两个字节的小字节数组:
int bytes_to_write = 2;
port.Write(byte_buffer, buffer_offset, bytes_to_write);
Run Code Online (Sandbox Code Playgroud)
在将其写入端口之前,似乎底层库正在等待更多数据通过.这是正确的行为,我可以强制它立即写小块吗?一些论坛说使用:
port.BaseStream.Flush();
Run Code Online (Sandbox Code Playgroud)
将导致正确的行为,但其他人说这不起作用.我已经进行了几次测试,但它似乎对我不起作用.
干杯,理查德
我正在尝试安装一个正则表达式,在文件中得到一些单词,这个单词的所有字母都与单词模式匹配.
我的问题是,正则表达式找不到重音词,但在我的文本文件中有很多重音词.
我的命令行是:
cat input/words.txt | grep '^[éra]\{1,4\}$' > output/words_era.txt
cat input/words.txt | grep '^[carroça]\{1,7\}$' > output/words_carroca.txt
Run Code Online (Sandbox Code Playgroud)
而文件的内容是:
carroça
éra
éssa
roça
roco
rato
onça
orça
roca
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我怎样才能确定两个NSDate值之间的天数(考虑到时间)?
该NSDate值是任何形式的[NSDate date]需要.
具体来说,当用户在我的iPhone应用程序中进入非活动状态时,我存储以下值:
exitDate = [NSDate date];
Run Code Online (Sandbox Code Playgroud)
当他们打开应用程序备份时,我得到当前时间:
NSDate *now = [NSDate date];
Run Code Online (Sandbox Code Playgroud)
现在我想实现以下内容:
-(int)numberOfDaysBetweenStartDate:exitDate andEndDate:now
Run Code Online (Sandbox Code Playgroud)