小编Rob*_*Rob的帖子

SFTP C++库?

任何人都可以推荐一个体面的SFTP库用于Windows C++应用程序?如果一个跨平台的可用,那就更好了,但这不是必需的.它适用于商业应用程序,因此付费不是问题.

我使用的是极好的Ultimate TCP/IP库,它支持FTP-S但不支持SFTP(是的,我知道,令人困惑的不是它!).

我遇到了Chilkat图书馆,看起来非常好,但想知道是否有其他人使用过.

c++ sftp

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

使用ATL枚举COM对象(IDispatch)方法?

使用ATL(VS2008)如何枚举给定IDispatch接口(IDispatch*)上可用的可用方法?我需要搜索一个具有特定名称的方法,一旦我有了DISPID,就调用该方法(我知道方法所采用的参数.)理想情况下,我想使用智能COM指针(CComPtr<>).

这可能吗?

c++ com atl

8
推荐指数
3
解决办法
9739
查看次数

ASSERT vs. ATLASSERT vs. assert

我正在重构一些充满ASSERT语句的MFC代码,为了准备未来的Linux端口,我想用标准替换它们assert.人们知道的两种实现之间是否有任何重大差异可能会让我感到困惑?

同样,我也遇到了一些ATLASSERT我想要替换的代码.

c++ mfc assert

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

合并多个STL容器,删除重复元素的最佳方法?

我有两个要合并的STL容器,删除多次出现的元素.例如:

typedef std::list<int> container;
container c1;
container c2;

c1.push_back(1);
c1.push_back(2);
c1.push_back(3);

c2.push_back(2);
c2.push_back(3);
c2.push_back(4);

container c3 = unique_merge(c1, c2);
// c3 now contains the following 4 elements:
//   1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)

std :: unique似乎只适用于相邻元素,在我的情况下,容器可以是任何顺序.我猜我可以做一些std :: set trickery:

container unique_merge(const container& c1, const container& c2)
{
    std::set<container::value_type> s;
    BOOST_FOREACH(const container::value_type& val, c1)
        s.insert(val);
    BOOST_FOREACH(const container::value_type& val, c2)
        s.insert(val);
    return container(s.begin(), s.end());
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法或者我错过了明显出血的东西?

c++ stl

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

VARIANT_BOOL与BOOL

我正在使用ATL在C++中编写COM对象,我不确定是否应该使用VARIANT_BOOL我的方法/属性.该对象将被其他C++应用程序调用,但我不能排除.NET的使用.

我可以坚持好旧BOOL(IIRC只是一个无符号的int)但是那样VARIANT_BOOL,我不应该使用它吗?如果我使用它,并从C++应用程序调用这些方法,我必须添加额外的代码,因为VARIANT_BOOL它不像'普通'布尔值,我必须检查VARIANT_TRUEVARIANT_FALSE值.

VARIANT_BOOL不合时宜的,我可以忘记,还是应该坚持下去?

c++ com

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

Windows GDI:水平/垂直DPI

在Windows下获取屏幕的DPI(使用:: GetDeviceCaps)时,水平值是否始终与垂直相同?例如:

HDC dc = ::GetDC(NULL);
const int xDPI = ::GetDeviceCaps(dc, LOGPIXELSX);
const int yDPI - ::GetDeviceCaps(dc, LOGPIXELSY);
assert(xDPI == yDPI);
::ReleaseDC(NULL, dc);
Run Code Online (Sandbox Code Playgroud)

这些价值观是否有所不同?

c c++ windows gdi

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

Visual C++'强制包含'选项

我刚刚遇到一个Visual C++选项,它允许你强制包含文件 - 这是在我查看#include "StdAfx.h"每个.cpp文件中缺少一些代码的时候出现的,但实际上是通过这个选项实现的.

该选项可在Advanced C/C++ Configuration Properties页面上找到,并等同于/ FI编译器选项.

这个选项可能证明非常有用,但在我匆忙开始使用它之前,我想我会问是否有任何问题?

c++ visual-c++

7
推荐指数
2
解决办法
9111
查看次数

快速而肮脏的操作员!=

在我的课程中,我经常operator!=通过返回写一个快速!(*this == rhs),例如:

class Foo
{
private:
    int n_;
    std::string str_;
public:
    ...
    bool operator==(const Foo& rhs) const
    {
        return n_ == rhs.n_ && str_ == rhs.str_;
    }

    bool operator!=(const Foo& rhs) const
    {
        return !(*this == rhs);
    }
};
Run Code Online (Sandbox Code Playgroud)

这样做我看不出任何明显的问题,但我想我会问是否有人知道.

c++ operator-overloading

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

如何检查套接字是否仍然打开?

我有一个使用标准套接字调用的C++应用程序,我想知道是否可以判断套接字是否仍然打开而不发送或接收任何数据.我能做出可靠selectioctlsocket致电吗?

c++ sockets

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

在Qt对话框中添加最小化按钮?

QDialog使用Qt Creator 创建了一个基于应用程序,除了对话框没有最小化按钮之外,一切都很好.我该如何添加一个?我可以在设计师中设置一个属性吗?

c++ qt qt4

7
推荐指数
2
解决办法
8911
查看次数

标签 统计

c++ ×10

com ×2

assert ×1

atl ×1

c ×1

gdi ×1

mfc ×1

operator-overloading ×1

qt ×1

qt4 ×1

sftp ×1

sockets ×1

stl ×1

visual-c++ ×1

windows ×1