来自int的GenICam :: gcstring

问题描述 投票:3回答:1

我正在使用Basler的Pylon库,这是GenICam的扩展。

他们在那里定义了一个保存图像的功能:

virtual void Save (EImageFileFormat imageFileFormat, const String_t &filename, CImagePersistenceOptions *pOptions=NULL) const 

其中String_t是GenICam :: gcstring的扩展

有关gcstring的信息如下:


Portable string implementation. More...
#include <new>
#include <string>
#include <iostream>
#include <Base/GCTypes.h>
Classes
class   GenICam::gcstring
    A string class which is a clone of std::string. More...

Namespaces
    GenICam
    Contains definitions of GenICam types and exceptions.

Macros
#define     GCSTRING_NPOS   size_t(-1)
    Indicates either 'not found' or 'all remaining characters'.

Functions
std::istream &  GenICam::getline (std::istream &is, GenICam::gcstring &str)

std::istream &  GenICam::getline (std::istream &is, GenICam::gcstring &str, char delim)

std::ostream &  operator<< (std::ostream &ostr, const GenICam::gcstring &str)

std::istream &  operator>> (std::istream &istr, GenICam::gcstring &str)

我需要使用从long int生成的文件名来保存图像,我尝试了很多方法但是失败了,任何人都能提供帮助吗?

c++ string
1个回答
0
投票

对于仍在寻找答案的人,String_t接受一个const char数组作为输入。所以你可以简单地将你的long转换为std::string,然后将string.c_str()传递给String_t构造函数。

所以要从long转换为std::string,请执行以下操作:

#include <string> 

long myNumber = getNumber();
std::string s = std::to_string(myNumber);

然后你可以这样保存图像:

CImagePersistence::Save(ImageFileFormat_Tiff, String_t(s.c_str()), *image);

注意:我正在使用塔5。

© www.soinside.com 2019 - 2024. All rights reserved.