问题列表 - 第44084页

使整数均匀

有时我需要确定某个整数是偶数.因此我可以使用以下代码:

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)

但(除了不可读)我不确定该解决方案是否完全可移植.

  • 您认为哪种解决方案最好?
  • 第二种解决方案是否完全便携?
  • 第二种解决方案比第一种解决方案快得多吗?
  • 您对此问题还有哪些其他解决方案?
  • 如果我在内联方法中执行此操作会怎么样?它(理论上)应该与这些解决方案一样快,可读性不应再成为问题,这是否会使第二种解决方案更可行?

注意:此代码应该只适用于正整数,但有一个解决方案也适用于负数将是一个加号.

c c++ integer bit-manipulation

13
推荐指数
4
解决办法
5263
查看次数

Windows Phone 7 - 接听电话

我正在开发一个应用程序,我希望在Windows Phone 7上接听电话.如果有任何API暴露在同样的情况下,你能告诉我吗?

api windows-phone-7

2
推荐指数
1
解决办法
519
查看次数

正则表达式非连续字符

目前我有:

[A-Za-z0-9._%+-]
Run Code Online (Sandbox Code Playgroud)

这匹配包含字母,数字和某些特殊字符的任何字符串(._%+-)

如何更改此值以使其不会与包含特殊字符的字符串连续匹配?

举例来说,我希望它匹配: foo.bar+testfoo.+bar+foo.

但不是: foo..bar+testfoo.bar++testfoo.bar++

regex

1
推荐指数
2
解决办法
6258
查看次数

将证书导出为BASE-64编码的.cer

我试图导出没有私钥的证书,如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)

然而,这似乎有效,错过了"-----开始证书-----"和"-----结束证书-----"

.net c# base64 x509certificate2 x509certificate

33
推荐指数
2
解决办法
4万
查看次数

使用SVN与暂存和实时网站

我目前在托管的Web服务器上有一个svn存储库.我在本地工作,将我的更改提交到我的服务器上的存储库,然后当我准备推送更改时,通过我的实时文件夹中的ssh运行"svn update".

我现在正在添加一个暂存站点,它将驻留在同一台服务器上.它只是同一台服务器上的另一个文件夹.

问题是我将在登台服务器上对网站进行稍微更大的更改,这可能需要长达一周的测试时间.在此期间,我可能希望对不需要测试的实时网站进行小的修饰.我们来举个例子:

  1. 假设我的本地,登台和现场网站都从修订版1开始.
  2. 我在本地进行重大更改,提交它们,并更新我的登台服务器.本地和分期是修订版2,实时仍然是1.
  3. 有人要求在网站上进行简单的文字更改.
  4. 啊.现在我必须将本地副本还原为修订版1,进行小改动并提交.现在我更新到实时站点到版本3,它有一个小的变化.
  5. 我想继续处理我的主要更改,因此我将本地副本更新回修订版2,并继续工作.
  6. 等等....

这迫使我跟踪转速并不断更新和恢复.有没有更好的办法?我觉得我应该在这里使用分支和标签,但我不明白究竟是怎么回事.

谢谢,约拿

svn

9
推荐指数
1
解决办法
5010
查看次数

在ABAddressBook - iPhone中为现有ABRecord添加新号码

我试图通过我的应用程序更新地址簿中现有联系人的内容,但不需要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)

iphone

4
推荐指数
1
解决办法
3350
查看次数

打印STDOUT/STDERR并将它们写入Bash中的文件?

有没有办法让Bash将STDOUT/STDERR重定向到一个文件,但仍然将它们打印到终端?

linux bash stdout stderr io-redirection

8
推荐指数
1
解决办法
7186
查看次数

c#串口刷新小数据块

我正在使用以下内容编写一个包含两个字节的小字节数组:

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)

将导致正确的行为,但其他人说这不起作用.我已经进行了几次测试,但它似乎对我不起作用.

干杯,理查德

c# serial-port flush

3
推荐指数
1
解决办法
1万
查看次数

grep/regex找不到重音词

我正在尝试安装一个正则表达式,在文件中得到一些单词,这个单词的所有字母都与单词模式匹配.

我的问题是,正则表达式找不到重音词,但在我的文本文件中有很多重音词.

我的命令行是:

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)

我该如何解决?

regex unicode grep cat non-ascii-characters

4
推荐指数
1
解决办法
5785
查看次数

两个NSDates之间的天数

我怎样才能确定两个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)

cocoa-touch objective-c nsdate ios

149
推荐指数
7
解决办法
10万
查看次数