问题列表 - 第29667页

C++:在API函数中使用std :: wstring

我正在使用SHGetSpecialFolderLocation API函数.我的应用程序设置为"使用Unicode字符集".

这是我到目前为止所拥有的:

int main ( int, char ** )
{
    LPITEMIDLIST pidl;
    HRESULT hr = SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl);


    /* Confused at this point */
    wstring wstrPath;

    wstrPath.resize ( _MAX_PATH );
    BOOL f = SHGetPathFromIDList(pidl, wstrPath.c_str () );
    /* End confusion */
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

error C2664: 'SHGetPathFromIDListW' : cannot convert parameter 2 from 'const wchar_t *' to 'LPWSTR'
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?什么是正确的C++方式来做到这一点?

谢谢!

c++ api wstring c2664

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

volatile是一种在线程之间传递MotionEvent的安全方法吗?

我很好奇这个方法的安全性,我考虑过在我的Android应用程序中传递触摸事件(并测试我对Java中的并发性的理解).这是基础知识:

我有一个SurfaceView连接到SurfaceHolder.Callback来获取用户输入事件,主要是onTouchEvent回调.在onTouchEvent调用该方法之后,我会看到是否event.getAction() == MotionEvent.ACTION_UP,如果是,则调用我已命名的postTouchEvent方法,该方法是我的应用程序线程的成员方法,用于更新应用程序的状态并绘制到画布.

SurfaceView

@Override
public boolean onTouchEvent(final MotionEvent event)
{
    mAppThread.postTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

AppThread

private volatile MotionEvent mInputEvent;

public void postTouchEvent(final MotionEvent event)
{
    this.mInputEvent = event;
}

@Override
public void run()
{
    // while loop ...

    if (this.mInputEvent != null)
    {
        final MotionEvent inputEvent = this.mInputEvent;
        this.mInputEvent == null;

        // update state based on inputEvent (not this.mInputEvent)
    }

    // draw to canvas
}
Run Code Online (Sandbox Code Playgroud)

现在我明白它肯定不是原子的,但是因为我从框架中接收它后将其视为不可变的,这不会起作用吗?(而不是同步post方法和if语句,我没有问题,但我要学习.)

这是我的想法.我知道我将对该对象有一个有效的引用,但我不确定我将实际看到该对象的状态.虽然测试一切都运行得很好,但我知道异常的线程异常是多么罕见,即使某些东西被破坏了.

此外,我可以看到一个问题:如果另一个MotionEvent出现,那么run()方法中的inputEvent可能会设置为与this.mInputEvent != …

java multithreading android

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

计算出货箱尺寸的粗略估计

我正在努力寻找计算运输所需箱子尺寸的最佳方法.

我有3个不同尺寸的集装箱.我在数据库中定义了产品的宽度,长度,深度和质量.

我想知道如何找到最小数量的箱子,以及购物车中物品数量的最小尺寸.

我当前的'想法'是找到整个产品阵列的最大宽度,根据它选择一个框,然后根据需要拆分订单...这似乎不起作用.

我的盒子尺寸为: - 8 x 6 x 6 = 228立方英寸 - 10 x 8 x 8 = 640立方英寸 - 12.5 x 12.5 x 12.5 = 1953.125立方英寸

产品定义如下:

 [Product] => Array
                (
                    [STOCK_CODE] => 010003
                    [Product_Slug] => GABA_010003
                    [ItemName] => GABA
                    [WHOLESALE_PRICE] => 17.47
                    [RETAIL_PRICE] => 24.95
                    [Brand] => 
                    [ProductLine] => 
                    [image_name] => 705077000440
                    [MASS] => 0.313
                    [Height] => 4.625
                    [Width] => 2.375
                    [Depth] => 2.375
                    [cubic_inches] => 26.087890625
                )
Run Code Online (Sandbox Code Playgroud)

我已经研究过背包问题,包装问题等,但找不到办法.任何帮助都会很棒.

function shipping(){

        $this->CartProduct->unbindModel(
            array('belongsTo' => array('User'))
        ); …
Run Code Online (Sandbox Code Playgroud)

php knapsack-problem shipping

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

AppFabric vs Unity vs Memcached或可能是任何其他多服务器缓存机制

我目前正在调查各种不同的缓存机制,无论它们是免费的还是以某种代价(最低限度).

情况.目前,我们必须使用负载平衡的服务器托管我们的Web应用程序,第三台服务器是SQL服务器.这个网站是一个网上商店,它会大量定期播放.

我被要求从MS研究Memcached和Unity的缓存机制,但在此过程中也遇到了AppFabric.

任何人都可以告诉我上面的场景是什么最好的缓存机制?

我们目前正在使用ASP.Net的.net缓存机制,我们也知道企业库缓存系统.

谢谢.

.net asp.net-mvc caching

7
推荐指数
1
解决办法
7245
查看次数

经典ASP向浏览器发送错误在IIS7上无法用于远程连接

我无法为远程浏览器连接上的ASP页面获取IIS7的详细错误报告.但是,当我在服务器上本地运行页面时,我确实看到了详细的错误消息.

我已启用发送错误到浏览器,但IIS不断发送内部服务器错误.

我在IE上取消选中显示友好的HTTP错误消息.

有谁知道如何启用错误消息发送到远程浏览器?

iis-7 asp-classic

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

如何清除文件的内容

我想知道如何在C中清除文件的内容.我知道它可以使用truncate,但我找不到任何清楚描述如何的源.

c unix

4
推荐指数
3
解决办法
7987
查看次数

32位与64位浮点性能

我遇到了一个奇怪的问题.我正在研究的算法包含许多像这样的计算

q = x(0)*y(0)*z(0) + x(1)*y(1)*z(1) + ...
Run Code Online (Sandbox Code Playgroud)

总和的长度在4到7之间.

原始计算都是使用64位精度完成的.对于实验,我尝试对x,y,z输入值使用32位精度(以便使用32位执行计算),并将最终结果存储为64位值(直接转换).

我预计32位性能会更好(缓存大小,SIMD大小等),但令我惊讶的是,性能没有差别,甚至可能会降低.

有问题的架构是Intel 64,Linux和GCC.两个代码似乎都使用SSE,两种情况下的数组都与16字节边界对齐.

为什么会这样?到目前为止,我的猜测是32位精度只能在前四个元素上使用SSE,其余的由连续渲染开销连续完成.

floating-point precision performance

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

如何从Apple获取旧版的正版iOS图像?

有没有办法从Apple获取旧版本的iOS图像?

测试应用程序所需的图像.但据我所知,没有办法得到这个.当然,互联网上有一些浮动文件,我不能相信它们.因为任何修改过的图像都无法用于测试目的.

image ios

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

使用preg_replace匹配重复的空格

我正在编写一个WordPress插件,其中一个功能是删除重复的空格.

我的代码看起来像这样:

return preg_replace('/\s\s+/u', ' ', $text, -1, $count);
Run Code Online (Sandbox Code Playgroud)
  • 我不明白为什么我需要u 修饰符.我见过其他使用preg_replace但不需要为Unicode修改它的插件.我相信我有一个WordPress的默认安装.

  • 如果没有修饰符,代码将使用Unicode替换字形而不是空格替换所有空格.

  • 使用u修饰符,我没有得到字形,并且它不会替换所有空格.

下面的每个空间都有1-10个空格.正则表达式仅从每个组中移除空间.

之前:

This sentence  has extra space.  This doesn’t.  Extra  space, Lots          of extra space.
Run Code Online (Sandbox Code Playgroud)

后:

This sentence has extra space. This doesn’t. Extra space, Lots         of extra space.
Run Code Online (Sandbox Code Playgroud)

$count = 9

如何让正则表达式替换整个匹配的空间?


更新:如果我尝试使用常规php,它可以正常工作

$new_text = preg_replace('/\s\s+/', ' ', $text, -1, $count);
Run Code Online (Sandbox Code Playgroud)

它只在我在wordpress插件中使用它时才会中断.我在过滤器中使用此功能:

function jje_test( $text ) {
    $new_text = preg_replace('/\s\s+/', ' ', $text, -1, $count);
    echo "Count: $count";
    return $new_text;
} …
Run Code Online (Sandbox Code Playgroud)

php regex wordpress

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

Safari 5不会将所有cookie发送回服务器

我在Safari 5中看到了这个问题(实际上它至少从4.0.5开始流行),似乎它没有正确设置cookie.该网站适用于Firefox,IE和Chrome.

但是,我可以通过查看它使用的Safari的cookie plist来验证cookie是否正确设置.在Windows 7上,它存储在此处:C:\ Users \\ AppData\Roaming\Apple Computer\Safari\Cookies\Cookies.plist

现在,我正在处理的网站使用了相当广泛的cookie,并存储在不同的域中.

比方说,该网站是www.foo.com.登录cookie设置为domain .foo.com.此外,其他cookie存储在域名www.foo.com,a.foo.com,b.foo.com等.

当访问www.foo.com并"忘记"发送它应该发送的所有cookie时,Safari似乎感到困惑(www.foo.com,.foo.com).

我不确定这是否是我的错误(cookie中的无效字符)或者这是Safari的错误.我想知道是否有人遇到过这个并且找到了一个

谢谢!

编辑:我关注的一个cookie非常大,长度不到4k.它包含编码信息,它包含的字符是字母数字和/ + _ =

现在奇怪的是,根据cookie设置的域,cookie本身可以正常工作.但是,当用户登录时,会添加另一个cookie,Safari似乎忽略了第一个cookie.Safari发送登录cookie很好,它包括字母数字和[] _ \

我最初的想法是它可能是域冲突.当登录cookie设置为.foo.com时,第一个cookie被设置为www.foo.com.但是,我测试了这个理论,将它们都设置为.foo.com,问题仍然存在.

cookies safari

6
推荐指数
1
解决办法
4812
查看次数