小编Kac*_*che的帖子

提取,然后将原始数据传递到另一个类 - 如何在保持封装的同时避免复制两次?

考虑一个class Book带有stl容器的class Page.每个Page都有一个截图,就像page10.jpg原始vector<char>形式一样.

Book打开A ,其中包含zip,rar或包含这些屏幕截图的目录的路径,并使用提取原始数据的相应方法,如ifstream inFile.read(buffer, size);,或unzReadCurrentFile(zipFile, buffer, size).然后它调用Page(const char* stream, int filesize)构造函数.

现在,很明显原始数据被复制了两次.一次提取到Book的本地buffer,第二次在Pagector中Page::vector<char>.有没有办法在摆脱中间人缓冲区的同时保持封装?

c++ copy filestream

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

每页最多Web部件/ Web部件区域数量?(Microsoft SharePoint 2007)

我已经找到了每页的最大网页数量:

但是,我一直无法找到:

  • 每个Web部件区域的最大Web部件数

  • 每页的最大Web部件区域数

sharepoint web-parts sharepoint-2007

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

静态编译libmagic(c/c ++文件类型检测)

感谢那些帮助我解决上一个问题的人(链接仅供参考).

我可以将文件fileTypeTest.cpp,libmagic.a以及magic在一个目录下,我可以编译g++ -lmagic fileTypeTest.cpp fileTypeTest.稍后,我将测试它是否在使用MinGW编译的Windows中运行.

我打算在一个小的GUI应用程序中使用libmagic,我想静态编译它以便分发.我的问题是libmagic似乎需要外部文件magic.(我实际上正在使用我自己的缩短和编译版本,magic_short.mgc,但我离题了.)

一个hacky解决方案是将文件编码到应用程序中,根据需要创建(和删除)外部文件.我怎么能避免这个?

为清晰起见添加:

magic是一个描述不同文件类型属性的文本文件.当要求识别文件时,libmagic搜索magic.有一个编译版本,magic.mgc工作得更快.我的应用程序只需要确定一些文件类型,然后再决定如何处理它们,所以我将使用自己的magic_short文件来创建magic_short.mgc.

c++ compilation libmagic

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

sharepoint list version history export to excel

美好的一天 !

我需要在excel中执行日志数据项的导出版本. 遗憾的是,这个解决方案无法使用,因为我来自俄罗斯,解决方案只支持拉丁字母.所以我最需要学习从单个项目列表的版本历史中提取数据.

请帮忙.怎么做的?

sharepoint

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

c#Object obj的值为{}.什么是 "{}"?

我正在使用一些运行SQL查询的旧代码作为参考.

在某些时候,它会变成如下:

sqlDataAdapter.Fill(dataSet);
DataRow dataRow = dataSet.Tables[0].Rows[0];
Object obj = dataRow[fieldName];
Run Code Online (Sandbox Code Playgroud)

旧代码确实:

string output;
if (!string.IsNullOrEmpty(obj.ToString())) { output = obj.ToString(); }
else { output = "Not Available"; }
Run Code Online (Sandbox Code Playgroud)

我改为:

output = obj as string ?? "Not Available"
Run Code Online (Sandbox Code Playgroud)

但有时,它破了.正如我所怀疑的那样,当条目是一个时,它正在发生int.int在那些案件中铸造解决了这个问题.

然后,当没有obj[fieldName] int类型的条目时,出现了另一个问题.当我走过调试器时,我惊讶地发现那obj不是null.在VS中,鼠标移除显示它有一个价值{}.

到底是{}什么?我如何对它进行布尔测试?

(在旧代码中,它会在这种情况下.ToString()返回""并按预期工作.)

c# sql null object

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

stl :: deque的insert(loc,val) - deque结尾与其他位置的不一致行为?

使用http://www.cppreference.com/wiki/stl/deque/insert作为参考,我在某些位置将值插入到双端队列中.

例如,如果deque A是:

a, b, d, e, g
Run Code Online (Sandbox Code Playgroud)

使用指向d的迭代器,我可以:

A.insert(iter, c);    // insert val c before loc iter
//deque is now    a, b, c, d, e, g
Run Code Online (Sandbox Code Playgroud)

并且iter仍然指向d.但是,当iter指向g时,最后一个元素:

A.insert(iter, f);
//deque is now    a, b, c, d, e, f, g
Run Code Online (Sandbox Code Playgroud)

但它现在指向f !!

我目前的解决方法是:

iter = A.insert(loc, val);  // point iterator to element that was inserted before loc
iter++;                     // point iter back to loc
Run Code Online (Sandbox Code Playgroud)

我没有再测试过这个或者任何东西,花了这么多时间跟踪一个错误,只是为了发现插入()在所有地方的stl中的不一致行为很烦人.

与其他任何位置相比,为什么insert()在最后表现不同?还是我做错了什么?

c++ insert deque undefined-behavior

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

错误:返回void,返回关键字后面不能跟对象表达式

    private void QuestionAnswer_Load(object sender, EventArgs e)
    {

        txtQuestion.Enabled = false;
        txtQuestion.BackColor = Color.White;
        grpMultipleChoice.Enabled = false;
        grpSingleChoice.Enabled = false;

        btnCheckAnswer.Enabled = false;
        btnNext.Enabled = false;
        btnQuit.Enabled = false;

        //force student to enter registration details
        if (txtStudentName.Text == "" && txtStudentNumber.Text == "" && txtModuleNumber.Text == "")
        {
            btnStart.Enabled = false;
            MessageBox.Show("You must enter your registration details at the upper right corner");
        }

        //declare a list
        lstNumbers = new ArrayList();

        //create a random number generator
        Random rndNumber = new Random();

        //generate …
Run Code Online (Sandbox Code Playgroud)

c# return

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

Vim正则表达式,反向引用`[^ ​​s]`匹配

在一个文件中,例如:

self.phrase
self.phrases
self.phrase.lower()
self.phrase_lowered
self.phrases[self.phrase]
Run Code Online (Sandbox Code Playgroud)

我想更换所有self.phraseself._phrase,除了self.phrases可以得到:

self._phrase
self.phrases
self._phrase.lower()
self._phrase_lowered
self.phrases[self._phrase]
Run Code Online (Sandbox Code Playgroud)

在我试过的正则表达式中,第一个(我认为可行的正则表达式)是:

:%s/self\.phrase[^s]/self\._phrase\1/gc
Run Code Online (Sandbox Code Playgroud)

但它没有用.

regex vim backreference

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