小编BSa*_*nke的帖子

如何在C++中以"::"分隔的标记化字符串中获取最后一个元素?

我正在研究C++,

我有一个字符串如下:

string str = "rake::may.chipola::ninbn::myFuntion";
Run Code Online (Sandbox Code Playgroud)

如何从上面的字符串中获取始终在最后一次出现"::"之后的最后一个元素?

c++

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

如何在Eclipse FormEditor中实现撤消/重做功能?

我正在开发一个多页面编辑器,用于在Eclipse中编辑/创建自定义XML文件.

  1. 实现类是MyXMLFormEditor,它扩展了FormEditor.

  2. FormEditor的每一页都扩展了FormPage(即MyXMLFormPage扩展FormPage).

  3. 在FormEditor和实际的XML文件之间我维护着JDOM模型.

  4. 我也实现了脏标志处理.因此,用户对表单编辑器的输入将保存到JDOM中,直到用户按下"保存"按钮为止.当用户按下保存按钮时,JDOM被写入/序列化为XML文件.

在具有上述功能的编辑器中,我想实现undo/redo功能,如下所示:

  • 当编辑器变脏(用户将某些内容更改为表单编辑器并且未保存)时,撤消操作应将表单编辑器中的更改以及JDOM恢复到其原始状态(即编辑器非脏时的状态),并且重做操作应该再次将更改恢复到FormEditor以及JDOM和编辑器应该变脏.

以下是我的代码段:

MyXMLFormEditor.java

public class MyXMLFormEditor extends FormEditor {

    MyXMLFormEditor(){
                                super();                                
                                }

                @Override
                protected FormToolkit createToolkit(Display display) {
                                // Create a toolkit that shares colors between editors.
                                return new FormToolkit(Activator.getDefault().getFormColors(display));
                }

                @Override
                public void init(IEditorSite site, IEditorInput editorInput) {
                                setSite(site);
                                mSite = site;
                                setInput(editorInput);
                                try {
                                                super.init(site, editorInput);
                                } catch (PartInitException e1) {
                                                e1.printStackTrace();
                                }
                                if (!(editorInput instanceof IFileEditorInput))
                                                try {
                                                                throw new PartInitException("Invalid Input: Must be IFileEditorInput");
                                                                } catch (PartInitException e) {
                                                                                e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java xml eclipse eclipse-plugin

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

如何从C++中具有大内容的字符串中删除一行?

我有一个包含以下内容的字符串:

string myString;
cout<<"String  :"<<endl<<myString<<endl;
Run Code Online (Sandbox Code Playgroud)

输出是:

String :
/this/is/first/line/library.so
cv_take_Case::newFuncton(int const&)
cv_take_Case::anotherMethod(char const&)
thi_is::myMethod
.
.
.
sdfh dshf j dsjfh sdjfh 
Run Code Online (Sandbox Code Playgroud)

所以在上面的例子中,如何删除包含"newFuncton"字符串的整行.

c++

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

如何在C++中使用new来分配内存?

我有以下静态内存声明:

void* array[5000];
Run Code Online (Sandbox Code Playgroud)

如何operator new在C++中使用相同的内存分配?

c++ new-operator dynamic-allocation

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

使用getline()从stdin读取整行时出现意外的输出?

我正在研究c,以下是我的代码:

#define _GNU_SOURCE
#include<stdio.h>
#include<stdlib.h>

int main()
{
        char* str = NULL;
        size_t n;

        printf("Enter the string : \n");
        getline(&str, &n, stdin);
        printf("Initial string is : (%s)\n", str);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行上面的程序时,它给出以下输出:

Enter the string :
bsalunke
Initial string is : (bsalunke
)
Run Code Online (Sandbox Code Playgroud)

意外字符串存储在str指针中的原因可能是什么(即它是一个包含许多空格的字符串)?我在linux上使用gcc 4.1.2版本

c linux

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

为什么类的大小是1字节的联盟成员?

我正在研究C++:以下是代码片段:

class my
{
  union o
  {
    int i;
    unsigned int j;
  };

  union f
  {
    int a;
    unsigned int b;
  };
};
Run Code Online (Sandbox Code Playgroud)

我发现类"my"的大小是1个字节.我不明白为什么值是1个字节?任何人都能解释一下这个结果吗?

c++ class unions

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

如何将存储在char数组中的地址转换为实际地址?

我有以下char数组:

char hex[16] = "0x7fffa410c240"
Run Code Online (Sandbox Code Playgroud)

如何将其转换为可以分配给另一个变量的数字地址.重要的是,我必须保持值的基数保持相同,即16(十六进制).提前致谢.

c

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

Ruby Exception.to_s与期望的字符串不匹配

我有一个救援块,它检查是否抛出了正确的异常,如下所示:

rescue Exception
      if $!.to_s() != "myException"
        Err("Unexpected error :" + $!)
      end
      else
        Err("No error") 
Run Code Online (Sandbox Code Playgroud)

$!.to_s()当我puts喜欢时,我包含如下大字符串:

puts $!.to_s() 
Run Code Online (Sandbox Code Playgroud)

上述声明puts之前的输出if是:

myException \n
th sdfsj dsjhf sdfj \n
asdj jkds fdf j
Run Code Online (Sandbox Code Playgroud)

所以在if声明中我想比较输出中的第一行$!.to_s()和双引号中的字符串.

有任何建议如何解决这个问题?

ruby

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

有什么用"!" 用perl正则表达式标记?

我正在使用boost库进行正则表达式.

有什么用"!" 在Perl正则表达式中标记?

它表示什么?

regex boost-regex

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

Perl正则表达式中"〜"标记的用途是什么?

我正在使用boost库在C++中进行正则表达式.~Perl正则表达式中mark 的用途是什么?

它表示什么?例如

~myName 
Run Code Online (Sandbox Code Playgroud)

要么

ab~dc
Run Code Online (Sandbox Code Playgroud)

c++ regex boost

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