小编Nul*_*ull的帖子

C#用起始位置和结束位置替换字符串的一部分

我有一个字符串,我想替换它的一部分.棘手的部分是我不能使用Regex.replace,因为我只知道字符串中数据的开始和结束位置.例如,如果字符串如下所示:

I love cats, some more stuff here, we dont know how much more
Run Code Online (Sandbox Code Playgroud)

我有start=8end=11.我想把那部分替换成我需要的东西.这一次让我们这样说dogs新字符串将如下所示:

I love dogs, some more stuff here, we dont know how much more
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

c# string replace

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

给定`int num [7]`,`num`,`&num [0]`,`&num`如何不同?

我在C书中读到,对于数组来说,num[7]这个术语num相当于&num[0].这个概念对我来说很好,但是当我写下这个程序时,我再次感到困惑.

#include<stdio.h>
#include<conio.h>
int main()
{
    int num[]={21,22,23,24,25,26,27};
    int *x,*y,*z;
    x=&num;
    y=num;
    z=&num[0];
    printf("%d   %d   %d\n",sizeof(x),sizeof(y),sizeof(z));
    printf("%d  %d  %d\n",sizeof(&num),sizeof(num),sizeof(&num[0]));
    printf("%d   %d   %d",*(&num),*(num),*(&num[0]));
    getch();
    return 0;  
}
Run Code Online (Sandbox Code Playgroud)

输出是:

      4    4    4
      4    28   4
      2293536   21   21
Run Code Online (Sandbox Code Playgroud)

如果num与之相同,&num[0]为什么它们的尺寸会有所不同?这第三类术语是&num什么?我知道它显示了垃圾值,但这种类型的术语是否有意义?z=&num[0]我已经明白了.编译器显示赋值的警告x=&num,但 y=num;编译器没有任何问题.如果num有大小28那么为什么它被分配给y没有类型转换的整数指针?

然后我用这种方式尝试二维数组:

#include<stdio.h>
#include<conio.h>
int main ()
{
    int s[4][2]={{1234,56},{1235,57},{1236,58},{1237,59}};
    int i
    printf ("\n%d %d %d %d %d",sizeof(s[i]),sizeof(&s[i]),sizeof(s),
        sizeof(s[0][0]),sizeof(&s));
    getch(); …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

11
推荐指数
2
解决办法
1268
查看次数

匿名类可以在C++中用作返回类型吗?

有没有办法在C++中使用匿名类作为返回类型?

我用谷歌搜索这可行:

struct Test {} * fun()
{
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码没有编译,错误信息是:

可能无法在返回类型中定义新类型

实际上代码没有任何意义,我只是想弄清楚一个匿名类是否可以在C++中用作返回类型.

这是我的代码:

#include <typeinfo>
#include <iterator>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>

using namespace std;

int main(int argc, char **argv)
{
    int mx = [] () -> struct { int x, y ; } { return { 99, 101 } ; } ().x ;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用g ++ xx.cpp -std = c ++ 0x编译这段代码,编译器得到:

expected primary-expression before '[' token.
Run Code Online (Sandbox Code Playgroud)

c++ anonymous-types anonymous-class

11
推荐指数
2
解决办法
2947
查看次数

Java中的异常和继承

假设我们有这个问题

public class Father{
    public void method1(){...}
}

public class Child1 extends Father{
    public void method1() throws Exception{
    super.method1();
    ... 
    }

}
Run Code Online (Sandbox Code Playgroud)

Child1扩展Father和覆盖,method1但鉴于实现Child1.method1现在抛出异常.这不会编译,因为重写方法不能抛出新的异常.

什么是最好的解决方案?

  • 传播所需的例外Father.对我而言,这是针对封装,继承和一般OOP(Father可能引发永远不会发生的异常).
  • 用一个RuntimeException代替?此解决方案不会传播ExceptionFather,但Oracle文档和其他来源声明,当"客户端代码无法执行任何操作"时,应使用该类异常.这不是那种情况,这个例外对于恢复blablabla很有用(为什么使用它是错误的RuntimeException?).
  • 其他..

java inheritance exception

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

获取C#中的当前CPU利用率

我想在我的项目中拥有当前的CPU利用率

namespace Monitoring_Tool
{
    public partial class ajaxExecute : System.Web.UI.Page
    {
        private PerformanceCounter theCPUCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
        private PerformanceCounter theMemCounter = new PerformanceCounter("Memory", "Available MBytes");

        protected void Page_Load(object sender, EventArgs e)
        {
            float cpuUsage = 0.00F;

            cpuUsage = this.theCPUCounter.NextValue();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调试我的项目时,值cpuUsage显示0.00但是当我这样做QuickWatchthis.theCPUCounter.NextValue();它正在显示20.6786852.

为什么我不能将它存储在变量中?

c#

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

我应该编写什么来深入了解高级C++?

我正在寻找项目建议,这些建议会迫使我用先进的C++功能"弄脏自己".我说的是那些能充分利用语言能力的项目(STL甚至是提升(还没有使用它)).

为什么?因为我想学习,我想找到新的挑战.在工作中,事情开始变得无聊,真的.我习惯于经常遇到新事物,新想法和新功能.在大多数情况下,这不是遗留公司代码的情况,正如您可以想象的那样.而且,在这里查看一些问题和答案,深入研究模板的深度,共享指针以及所有我碰巧发现自己迷失的东西,不知道答案甚至更糟 - 甚至不了解正在发生的事情.

这就是为什么我正在寻找可以自己编写代码的东西,最好只使用C++(也许是+ boost) - 命令行实用程序,请不要使用图形.我真的不想加入任何开源社区.我知道,查看其他人的代码很有帮助.但这就是我在工作中做了很多事情......不,谢谢.项目可以是任何有意义或无意义的东西,有用的实用程序或只是没有实际用途的东西.唯一的要求是,它会迫使我真正测试我的C++技能.或者至少用C++的基本知识进行编码应该是非常困难甚至是不可能的 - 我是那种对代码工作永不满意的人,所以我相信这会迫使我学习.但请记住,我是一个工作的人,我的时间有限,所以答案就像"编写自己的操作系统"

c++ boost

10
推荐指数
2
解决办法
676
查看次数

`Base*b = new Base;`vs`Base*b = new Base();`没有定义我自己的构造函数

如果我没有定义我自己的构造函数,那么Base *b = new Base;vs 之间有什么区别Base *b = new Base();吗?

c++ constructor

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

Git vs SVN非文本文件/大型项目

过去几周我一直在学习Git,我真的很喜欢它与SVN相比的工作方式.我希望完全切换到它的主要原因是合并被认为更容易,几乎没有冲突,我可以在本地提交.这促进了许多分支的使用(例如每个票据/问题/任务/等分支),并且还促进了许多提交.我只需要在SVN中使用分支(因为合并经常产生冲突)而且我只在100%确定问题是修复时才提交(而不是增量提交,这会更好).

现在,关于git的一个问题,就像我一直在阅读的那样,关于非文本文件/大型项目.例如,我正在研究目前在SVN中控制的游戏项目.现在有一个游戏项目,会有很多非文本文件,如艺术,声音和其他二进制文件,有些文件可能会变得非常大.git处理非文本文件/大型二进制文件的效果如何?如果我想将这样的项目移植到git,我必须记住哪些注意事项?

git version-control

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

使用C#演奏钢琴音

我正在尝试用C#制作一个简单的钢琴应用程序.

它应该是一个非常简单的钢琴(最多5或6键).我发现了不同的替代方案,而我迄今为止发现的是:

  • consol.beep(); 但我觉得它的声音不像钢琴的音调
  • 保存和播放WAV文件.我想到获得钢琴音色的wav文件,但我觉得这样做是很难的,而且任何可能占用太多不需要的空间都是不可销售的

是否有图书馆可以播放钢琴般的音调或不同乐器的任何不同音调?

c#

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

使用C-if条件实现cd系统调用

这是使用C实现cd系统调用的代码.此代码的问题是它没有进入if条件 if(strcmp(buffer,"cd") == 0) 而我无法理解为什么.

#include<sys/stat.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include<dirent.h>
#include<error.h>

#define BUFFERSIZE 20
int main(){

char *args[80]; 
char buffer[BUFFERSIZE];
char *prompt = "OS";
char *a = ">";
printf("%s%s",prompt,a); 
fgets(buffer, BUFFERSIZE, stdin);  

char *tok; 
tok = strtok (buffer," ");


while(buffer != NULL){ 
   buffer[strlen(buffer)-1] = '\0';  
   pid_t pid;
   pid = fork();
   if(pid < 0){
      fprintf(stderr, "Fork failed");
      return 1;
   }
   else if(pid == 0){

       if(strcmp(buffer,"cd") == 0){
         tok = strtok(NULL,"\n");
         cd(tok);
       }
       printf("%s%s",prompt,a); 
       fgets(buffer, BUFFERSIZE, stdin); …
Run Code Online (Sandbox Code Playgroud)

c cd

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