我从文件中读取数据时遇到了一些问题.我希望能够读取wstring,以及任意大小的原始数据块(大小以字节为单位).
std::wfstream stream(file.c_str());
std::wstring comType;
stream >> comType;
int comSize;
stream >> comSize;
char *comData = new char[comSize];
memset(comData, 0, comSize);
stream.read(comData, comSize);
//error C2664 : 'std::basic_istream<_Elem,_Traits>::read'
// : cannot convert parameter 1 from 'char *' to 'wchar_t *'
Run Code Online (Sandbox Code Playgroud)
也许我正在使用错误的流,或类似的东西.基本上,我想读取一个wstring,跟随的数据大小(可以是任意数量的字节),然后是那么多字节的组件数据.显然,我无法读取char,因为模板假定为wchar_t.
我可以读取wchar_t,但是我必须确保数据存储为sizeof(wchar_t)对齐.否则,我最终可能会破坏流.一种情况是数据是15个字节.我必须读取16个字节,然后屏蔽不需要的字节,寻找流到15个字节的偏移量(如果可能,使用wchar_t模板化?)以便能够读取下一个数据块.
显然,应该有一种更好的方式来实现我想要做的事情.
语言:C#2.0或更高版本
当用户右键单击某些文件时(我的情况是*.eic),我想注册上下文处理程序来创建菜单.从这些菜单中注册,注销(清理)和处理事件(点击)的过程是什么?
我有一个线索,它与Windows注册表有关,但考虑到.net中有多少东西,如果有方便的方法来做到这一点干净和简单,我不会感到惊讶.
代码片段,网站引用,评论都很好.请把它们扔给我.
显然,在托管语言中创建上下文菜单存在一些问题,正如一些用户所评论的那样.有没有其他优选的方法来实现相同的行为,或者我应该花时间研究这些变通方法?我根本不介意这样做,我很高兴人们已经努力使这成为可能 - 但我仍然想知道是否有一个"适当/干净"的方式实现这一目标.
我正在寻找一套在开发软件时使用的好插件.目前我正在独立一个项目,在我完成项目的过程中,我同时尝试使用TDD.最近我对agiles进程大肆宣传,并想知道如何进一步集成工具,这将有助于我完成项目和学习TDD的任务.此外,我正在寻求与SVN或其他版本源控制存储库集成.我还希望将版本信息包含到构建中,因为我将公开发布版本里程碑,以获得反馈.我希望最终学会如何创建健壮且可维护的软件,并从我长期留在的牛仔编码世界中跳出来.
我对开始使用太多插件有点太开心了,因为我觉得如果我迷路了,或者没有按照预期使用它们,可能会造成更多弊大于利.我想到的一些是用于维护编码标准的Style Cop/Fx Cop,用于SVN集成的Visual SVN,带有NUnit的Testdriven(以及可能的Moq,但这只是因为我没有查看NUnits模拟库).我还没有试过像resharper这样的工具,但我正在考虑尝试一下,因为我听到了很多关于它的信息.
我只使用C#编写代码,编写一个用于Unity3D的类库,这是一个支持.NET 2.0的免费游戏引擎.但是,测试本身可以是我的安装支持的任何.NET版本.我听说过有关自动化测试会导致你失败的事情,我很高兴能尽快让我的脚趾浸入其中,因为我相信这会让我更好地学习TDD.
如果你知道任何其他适合我需要的插件,或者你认为我应该选择一个而不是另一个插件,请告诉我.
由于我对插件很新,我不介意你是否可以激励为什么以及何时使用它们.我真的很高兴能有一个很好的环境来磨练我的技能.
感谢您花时间阅读本文.我希望你有一些东西可以添加:)
我现在从使用Style Cop的一些人身上发现它可能不是最适合TDD的插件和具有默认设置的敏捷方法.虽然我认为我生产的代码使用它具有很高的标准,但我觉得许多规则(例如严格的文档)都不够敏捷,因为你必须先付费.在TDD中,测试本身用作文档和规范.思考敏捷,你不应该做你不需要做的事情.
在我的具体情况下,我不需要额外的文档,因为这个库不打算在其他开发人员之间共享.然而,它可能会在未来,然后我们降落在另一个球场.我对覆盖这些规则有点怀疑.我想一方面我想要干净而坚固的代码来练习"良好的编码",另一方面我想在TDD上稍微缩小一点,最后我想要生产价值.
我想发布关于使用Style Cop和默认设置的想法,以防新开发人员阅读原始文章并盲目地决定使用它因为它在此处列出,只是发现它比有价值更麻烦.我认为关键是要了解您的需求并确定某个特征是否有助于您的生产价值.
我正在编写一个小项目,我想利用拖放功能来简化最终用户的一些操作.为了使应用程序更具吸引力,我想显示被拖动的对象.我已经在WPF中找到了一些资源,但是我不知道任何WPF,因此对于这个单一任务来说,完全没那么严重.我想知道如何使用"常规"C#Windows窗体完成此操作.到目前为止,我发现的所有拖放教程都只是谈论掉落效果,它只是几个图标的预设.
在这个项目之后,WPF听起来像是我想要学习的东西.
我得到OverflowException异常的扔给我时,我不希望他们(或因此我认为).我正在执行一些奇怪的计算,我希望值溢出,丢弃溢出的位.看来我不能让这个工作正常.基本上这是一对i和j,当我迭代大集合(int.MinValue到int.MaxValue)时发生.
// i and j are ints
// i is -2147483648
// j is -1
var x = i / j;
// I also tried using unchecked keyword, but it doesn't help
var x = unchecked(i / j);
Run Code Online (Sandbox Code Playgroud)
更新:
预期的数学值-2147483648/-1是2147483648.但是,这个特定的代码并没有真正尝试找到这个数字.这是一系列比特操纵事情的一部分,有点难以理解.说实话,我甚至不知道自己的目的是什么,因为我没有真正记录这个方法,而且只需要一天时间就可以在我脑海中引发严重的WTF泡沫.所有我知道它的工作原理与设计用于处理案例的特殊代码.
关于预期价值:
因为int只能保持2147483647的最大值,所以我希望丢弃溢出值Y值.
如果我对此有所了解,那么对于模糊方法来说,这可能是文档的重要性.
我正在寻找一种方法来确定特定文件何时更改,通过.NET.(我最终想要的是在文件发生变化后立即复制文件的功能.)如何做到这一点?