GenICam::gcstring from int

GenICam::gcstring from int

本文关键字:int from gcstring GenICam      更新时间:2023-10-16

我正在使用来自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)

我需要保存一个图像与一个长int生成的文件名,我已经尝试了很多方法,但失败了,谁可以帮助?

对于仍在寻找答案的人,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。

请使用以下方法。

char char_arr [100];
long int num = 10;
sprintf(char_arr, "%d", num);
String_t stringValue(char_arr);