Tag: C#的

如何捕获Control + D信号?

我想在我的程序中捕获Ctrl + D信号,并为它写一个信号处理程序。 我怎样才能做到这一点? 我正在C和使用Linux系统。

你如何检查写入目录或文件的权限?

我有一个程序,使用下面的方法将一些数据写入文件。 public void ExportToFile(string filename) { using(FileStream fstream = new FileStream(filename,FileMode.Create)) using (TextWriter writer = new StreamWriter(fstream)) { // try catch block for write permissions writer.WriteLine(text); } } 运行程序时,出现错误: 未处理的exception:System.UnauthorizedAccessException:对path“mypath”的访问被拒绝。 (System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,nt32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions ptions,SECURITY_ATTRIBUTES secAttrs)在System.IO中.__ Error.WinIOError(Int32 errorCode,String maybeFullPath) ,stringmsgPath,布尔型bFromProxy)在System.IO.FileStream..ctor(stringpath,FileMode模式,FileAccess访问FileShare共享,Int32 bufferSize,FileOptions选项,stringmsgPath,Boolea bFromProxy) 问题:我需要什么代码来捕捉这个问题,如何授予访问权限?

JSON.net:如何反序列化,而不使用默认的构造函数?

我有一个类,有一个默认的构造函数,也是一个重载的构造函数,接受一组参数。 这些参数与对象上的字段相匹配,并在构造上分配。 在这一点上,我需要其他用途的默认构造函数,所以我想保持它,如果我可以。 我的问题:如果我删除默认的构造函数并传入JSONstring,对象正确反序列化并传入构造函数参数没有任何问题。 我最终以我期望的方式回收对象。 但是,只要我将默认构造函数添加到对象中,当我调用JsonConvert.DeserializeObject<Result>(jsontext)属性不再填充。 在这一点上,我尝试添加new JsonSerializerSettings(){CheckAdditionalContent = true}到反序列化调用。 那什么都没做 另一个说明。 构造器参数确实匹配字段的名称,只是参数以小写字母开头。 我不认为这是重要的,因为像我所说的,反序列化工作正常,没有默认的构造函数。 这里是我的构造函数的示例: public Result() { } public Result(int? code, string format, Dictionary<string, string> details = null) { Code = code ?? ERROR_CODE; Format = format; if (details == null) Details = new Dictionary<string, string>(); else Details = details; }

如何在QtCreator中连接opencv并使用Qt库

这个问题必须重复多次,但是它不起作用,有时候还是没有答案。 信息来源主要是这些 http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml http://www.youtube.com/watch?v=dgcXYQijV6c 这是我认为应该/可以做的事情的总和。 (现在它适用于我。)希望我从一开始就提到一切,目的是写一个非常明确的教程。 为QtCreator安装OpenCV 我已经安装了MS Visual Studio 2010 Professional。 (作为学生我有一个免费的许可证) – 我认为这不是必要的,只是一提 下载: Qt 5.0.1 for Windows 32位(MinGW 4.7,823 MB) 2.1 安装:警告,Qt使用的所有东西(例如OpenCV)必须位于名称中不包含空格的目录中。 – 即“程序文件”是错误的。 (但是我不想让不同的程序文件直接在C上累积,所以我只创build了一个“程序”文件夹,在这个文件夹中安装了所有重要的东西) 下载: cmake-2.8.10.2-win32-x86.exe – 为所有用户安装(可以在Program Files中) 下载: OpenCV-2.4.0.exe,提取到: C:\ Programs \ opencv24 – 它会创build一个目录“opencv”; 添加另一个文件夹“opencv_bin”。 现在看起来像这样: C:\程序\ opencv24 \ OpenCV的* C:\程序\ opencv24 \ opencv_bin 设置PATH环境variables ,以便有一个到MinGW编译器的链接。 例如C:\ Programs […]

什么是编译器为一个类创build的所有成员函数? 这是否一直发生?

什么是编译器为一个类创build的所有成员函数? 这是否一直发生? 像析构函数。 我关心的是它是否为所有类创build,为什么需要默认的构造函数?

为什么复制赋值操作符必须返回一个引用/常量引用?

在C ++中,从复制赋值运算符返回引用的概念对我来说是不清楚的。 为什么复制赋值操作符不能返回新对象的副本? 另外,如果我有A类,并且有以下内容: A a1(param); A a2 = a1; A a3; a3 = a2; //<— this is the problematic line 运营商=定义如下: AA::operator =(const A& a) { if (this == &a) { return *this; } param = a.param; return *this; }

你有没有使用任何的C ++解释器(而不是编译器)?

我很好奇是否有人使用过UnderC,Cint,Cling,Ch或其他C ++解释器,并且可以分享他们的经验。

等到一个过程结束

我有一个应用程序呢 Process.Start() 开始另一个应用程序'ABC'。 我想等到应用程序结束(进程中止)并继续执行。 我该怎么做? 可能有多个应用程序“ABC”同时运行的实例。

为什么全局variables和静态variables初始化为默认值?

在C / C ++中,为什么全局variables和静态variables初始化为默认值? 为什么不把它留在垃圾值? 这有什么特别的原因吗?

从URL下载/stream文件 – asp.net

我需要stream式传输文件,这将导致在浏览器中作为提示保存。 问题是,该文件所在的目录是虚拟映射的,所以我无法使用Server.MapPath来确定它的实际位置。 该目录与网站不在同一个位置(或者甚至是在活箱上的物理服务器)。 我想要像下面的东西,但是这将允许我通过一个url,而不是一个服务器文件path。 我可能不得不从configuration的基本pathbuild立我的文件path,然后追加到path的其余部分,但希望我可以这样做,而不是。 var filePath = Server.MapPath(DOCUMENT_PATH); if (!File.Exists(filePath)) return; var fileInfo = new System.IO.FileInfo(filePath); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", filePath)); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.WriteFile(filePath); Response.End();