小编the*_*ive的帖子

如何在不使用命名空间std和字符串库的情况下拆分和存储const char*?

我有一个const char*变量"str",它可以像下面那样:

const char* str ="/v1/AUTH_abb52a71-fc76-489b-b56b-732b66bf50b1/images/bhs";
Run Code Online (Sandbox Code Playgroud)

我必须拆分这个str变量并将它们存储在一个类似的数组中char a[256].但是我希望通过检测每个斜杠(/)来分割.我的意思是我想存储v1,AUTH_abb52a71-fc76-489b-b56b-732b66bf50b1等等问题是,在这个项目中,我不允许使用字符串库和空间std,所以我不能使用istringstream.我只允许使用string.hstdio.h.那么我怎么能在这个限制内做到这一点呢?

c c++

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

如何在c ++中确定字符串中的字符

我有一个名为"String"的变量,可能具有以下值:

const char* String = "/v1/AUTH_abb52a71-fc76-489b-b56b-732b66bf50b1/test/DSC_0188.JPG";
Run Code Online (Sandbox Code Playgroud)

要么

const char* String = "/auth/v1.0";
Run Code Online (Sandbox Code Playgroud)

要么

const char* String = "/v2/AUTH_abb52a71-fc76-489b-b56b-732b66bf50b1/images?limit=1000&delimiter=/&format=xml";
Run Code Online (Sandbox Code Playgroud)

现在我想确定"String"是否包含字符'v1'.检查这一点必须准确.我试着用,和strchr,但它并不需要"V1"为一个字符是不是很准确,这需要相当的"V"和"1"为两个单独的字符.而且我不能使用namepace std和library string,我只能使用"string.h".在这些限制内,如何准确检查变量"String"是否具有字符"v1"?

谢谢.

c c++

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

与void*类型内存分配混淆?

我对C++编程缺乏经验,现在我正在尝试用dctmk制作一个小程序来修改dicom图像的像素数据.在阅读文档的过程中,我发现了一个c ++方法,我不太清楚.在DicomImage类的文档中,我发现了以下方法:

int DicomImage::getOutputData   (   void *      buffer,
        const unsigned long     size,
        const int   bits = 0,
        const unsigned long     frame = 0,
        const int   planar = 0   
    )
Run Code Online (Sandbox Code Playgroud)

我的困惑是关于buffer.它在链接中被引用为

buffer:指向内存缓冲区的指针(必须已经分配)

在这里我的困惑是我如何分配?我不确定如何分配一个void类型指针的内存.你能解释一下吗?谢谢.

c++

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

在右移位后对无符号字符对象使用逐位AND运算符意味着什么?

我正在尝试理解以下代码片段:

unsigned char state = portStates[portNumber];
int bitValue = (state >> 7) & 0x1;
Run Code Online (Sandbox Code Playgroud)

它在最不重要的位上做了一个按位AND state,对吗?如果它返回true(即,该位被设置),则该数字是奇数.否则,它甚至是.我对么?

谢谢

c bitwise-operators byte-shifting

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

当别名定义为“const int alias = variable”而不是#define时使用ifndef时重新定义错误

我定义const UInt8 HE = he;里面namespace Portsports.h。然后我将它包含在ports_logic.h和 中ports_logic.h,我在里面有以下代码namespace Ports

#ifndef HP
const UInt8 HP = hp;
#endif
Run Code Online (Sandbox Code Playgroud)

但是在编译过程中,它给了我以下错误。

在此处输入图片说明

有什么替代方法ifndef可以帮助我检查是否const int HP已经定义?

谢谢。

c++ c-preprocessor ifndef

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

如何通过推进std :: map迭代器来停止for循环?

我正在std::map使用外部for循环和嵌套for循环迭代两次.我希望在满足条件时停止内循环.我知道,如果我打电话给休息,它将停止两个循环.我不希望这样.我只想停止内for循环.

我的代码段如下:

    for(auto markerCounter = ellipsePropertiesMap.begin(); markerCounter != ellipsePropertiesMap.end(); markerCounter++)
    {                                    
        for(auto markerCounter2 = ellipsePropertiesMap.begin(); markerCounter2 != ellipsePropertiesMap.end(); markerCounter2++)
        {
            if(conditionMet)
            std::advance(markerCounter2, ellipsePropertiesMap.size());
            //I also tried the following:
            //markerCounter2 = ellipsePropertiesMap.end();
            //markerCounter2++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我试图通过使用std :: map的大小推进迭代器来停止内部for循环,但是它不起作用.我也试图得到结束迭代器并推进它以结束循环.显然这也不起作用.

那么,我怎样才能真正停止内循环呢?

谢谢.

c++ loops stdmap c++11

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

如何在文本文件中写入"const char*"的内容?

如果一个常量被声明为这样

const char   *http_range;
Run Code Online (Sandbox Code Playgroud)

那我怎么能在文本文件中写出它的内容或价值呢?你能告诉我语法吗?

c file-io pointers

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