小编rtu*_*ado的帖子

多行搜索并替换一行

如果我这样做:

:%s/aaa/bbb/| %S /二百二十二分之一百十一/

并且第一次搜索和替换没有找到任何匹配,第二次搜索和替换将不会被执行.即使命令"失败",有没有办法告诉vim继续?

vim

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

ghci配置文件

我在Ubuntu上使用ghci 6.8.2.ghci是否使用我们可以进行初始设置的配置文件?例如::set prompt "ghci> ".

haskell ghci

51
推荐指数
2
解决办法
8100
查看次数

如何使用std :: ifstream读取具有宽字符串路径的二进制文件

我正在读取二进制文件:

const size_t stBuffer = 256;
char buffer[stBuffer];
std::wstring wPath(L"blah");
std::wifstream ifs(wPath.c_str(), std::wifstream::in | std::wifstream::binary)
while (ifs.good())
{
  ifs.read(buffer, sizeof(buffer));
  ...
}
Run Code Online (Sandbox Code Playgroud)

但我意识到这不是一个真正的二进制读取.ifstream实际上读取一个字节并将其转换为宽字符.所以,如果二进制文件有内容0x112233...ff,我实际上读了0x110022003300...ff00.

这对我来说没有多大意义:首先,我只需要使用一个宽的fstream,因为文件名是非拉丁语.其次,如果我说fstream是二进制的,为什么read读取宽字符?下面的代码做我想要的.有没有办法用std fstream实现这个目标?

FILE* ifs = _wfopen(L"blah", L"rb");
while (!feof(ifs))
{
  size_t numBytesRead = fread(buffer, 1, sizeof(buffer), ifs);
  ...
}
Run Code Online (Sandbox Code Playgroud)

c++ fstream

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

我可以通过升压测试来检查程序的输出吗?

像:

void f()
{
  cout << "blah" << endl;
}

BOOST_AUTO_TEST_CASE(f)
{
  f();
  // This would be a beauty
  // BOOST_CHECK_PROGRAM_OUTPUT_MATCH("blah");
}
Run Code Online (Sandbox Code Playgroud)

c++ boost unit-testing boost-test

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

boost shared_ptr:operator =和reset之间的区别?

以下两段代码之间是否有任何差异?他们中的任何一个比另一个更好吗?

运算符=

boost::shared_ptr<Blah> foo; // foo.ptr should be NULL
foo = boost::shared_ptr<Blah>(new Blah()); // Involves creation and copy of a shared_ptr?
Run Code Online (Sandbox Code Playgroud)

重启

boost::shared_ptr<Blah> foo; // foo.ptr should be NULL
foo.reset(new Blah()); // foo.ptr should point now to a new Blah object
Run Code Online (Sandbox Code Playgroud)

注意:我需要定义shared_ptr然后将其设置在不同的行中,因为我在一段代码中使用它,如:

boost::shared_ptr<Blah> foo;
try
{
  foo.reset...
}
foo...
Run Code Online (Sandbox Code Playgroud)

c++ boost shared-ptr

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

寻找这段代码的正确cinoptions

如下所示,我可以设置哪些cinoptions以使下面的块缩进?

f(int *p) 
: a(p)
, b(0)
{
  std::cerr << blah
    << foo << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我最接近的是:

f(int* p) 
  : a(p)
  , b(0)
  {
    std::cerr << blah
      << foo << std::endl;
  }
Run Code Online (Sandbox Code Playgroud)

这几乎就是我想要的,只有之后的一切:都是缩进的:)
为此,我用过:set cino=i0,+2

vim indentation

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

错误MSB3171:生成清单时出现问题

C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(2341,9): error MSB3171: Problem generating manifest. Could not load file or assembly '...CppCli.dll.manifest' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我在编译CSharp项目时收到此错误,其中:

CSharp项目

一个VS2008 C#项目,它添加了CppCli项目作为参考

Output type, Windows application
Platform target, Any CPU
I've also tried with Platform target, x86
Run Code Online (Sandbox Code Playgroud)

CppCli项目

VS2008 C++/CLI项目,链接到外部C++静态库

Targeted framework .NET Framework 3.5
Configuration type, Dynamic Library (.dll)
Configuration properties, Common Language Runtime support, /clr
Manifest tool, Embed manifest, No
Run Code Online (Sandbox Code Playgroud)

安装的软件(据我所知VS2008 + SP1和.NET3.5 + SP1) …

c# c++-cli manifest visual-studio-2010 visual-studio-2008

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

如何在不使用cURL二进制获取请求下载文件的情况下获取文件的长度

我想在一些C++代码中创建一个cURL请求,它将获得服务器中文件的长度而无需下载文件.为此,我使用一些cURL选项告诉我只需要请求响应中的标头,然后我检查响应以获取文件长度.

我正在设置以下请求选项:

curl_easy_setopt(_curl_handle, CURLOPT_HEADER, 1);
curl_easy_setopt(_curl_handle, CURLOPT_NOBODY, 1);
Run Code Online (Sandbox Code Playgroud)

然后处理请求,等待响应,显示一个OK=200,最后查询文件长度:

curl_easy_getinfo(_curl_handle, CURLINFO_CONTENT_LENGTH_UPLOAD, &dResult);
Run Code Online (Sandbox Code Playgroud)

但我得到的文件长度为-1.根据cURL文档,这意味着大小未知.怎么会发生cURL没有从服务器获取文件长度信息?

c++ curl

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

boost::unit_test 案例失败,因为子进程以非零值退出

我有以下代码:

bool f()
{
  command = "mkdir -p /\/\/";
  result = aSystemCall(command);
  if (result == ...
}

BOOST_AUTO_TEST_CASE(BadDir)
{
  BOOST_CHECK_EQUAL(false, f());
}
Run Code Online (Sandbox Code Playgroud)

如果我command在命令行中执行,则会收到权限被拒绝错误。我知道这一点。这正是我想要测试的。
aSystemCall将命令作为子进程执行。当子进程以该命令的非零错误退出时,aSystemCall返回错误。它不会扔。
如果我BadDir在命令行中运行测试用例,后面的代码aSystemCall永远不会执行,测试失败,输出如下:

mkdir: cannot create directory '/\/\/': Permission denied
unknown location(0): fatal error in "BadDir": child has exited; pid: 25356; uid: 19753;   exit value: 1
test.cpp(100): last checkpoint
Leaving test case "BadDir"; testing time: 10ms
Leaving test suite "Test"
Leaving test suite "Master Test Suite"
Run Code Online (Sandbox Code Playgroud)

如果我BadDir在 …

c++ boost unit-testing

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

如何将列表中的所有元素移动到数组或向量或其他任何元素

我正在制作一个 C++ 问题,我必须编写一个带有列表的函数。问题是我根本不理解列表,因为我不知道如何使用指针或迭代器。有什么方法可以将所有元素从该列表移动到数组或向量吗?这会让我的生活更轻松。

c++ list

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