小编Rom*_*nov的帖子

Windows命令提示符中的别名

notepad++.exe在环境变量中添加了我的Path.

现在在命令提示符下,notepad++.exe filename.txt打开filename.txt.但我想np filename.txt打开文件.

我试过用DOSKEY np=notepad++.但它只是在没有打开文件的情况下将已经打开的记事本++带到最前面.如何让它打开文件?

谢谢.

windows alias command-prompt

320
推荐指数
11
解决办法
27万
查看次数

templates:父类成员变量在继承的类中不可见

我有以下4个文件:

  1. arrayListType.h:声明并定义arrayListType类作为模板
  2. unorderedArrayListType.h:继承自arrayListTypeclass和Declares并定义unorderedArrayListType为模板.
  3. main1.cpp:测试程序测试unorderedArrayListType类.
  4. Makefile

我得到一个编译错误的访问受保护的变量时说,arrayListTypeunorderedArrayListType举例说:"在此范围内未声明的长度",其中长度和列表在保护变量"在此范围内不宣布名单" arrayListType类.

以下是代码:
arrayListType.h

#ifndef H_arrayListType  
#define H_arrayListType

#include <iostream>

using namespace std;

template <class elemType>
class arrayListType
{

public:

    const arrayListType<elemType>&operator=(const arrayListType<elemType>&);

    bool isEmpty() const;
    bool isFull() const;
    int listSize() const;
    int maxListSize() const;
    void print() const;
    bool isItemAtEqual(int location, const elemType& item) const;
    virtual void insertAt(int location, const elemType& insertItem) = 0;
    virtual void insertEnd(const elemType& insertItem) …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates makefile class

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

状态机的C++代码

这是一个用C++编写的面试问题:

编写自动售货机的代码:从一个简单的代码开始,它只是出售一种类型的商品.所以两个状态变量:金钱和库存,都可以.

我的答案:

我会使用一个有3-4种状态的状态机.使用枚举变量来指示状态并使用switch case语句,其中每个case都有对应于每个状态的操作,并保持循环以从一个状态移动到另一个状态.

下一个问题:

但是,对于添加的更多状态和修改状态中的现有操作,使用switch case语句不能"很好地扩展".你打算如何处理这个问题?

我当时无法回答这个问题.但后来想到,我可能:

  • 具有不同状态的不同功能(每个功能对应一个状态)
  • 有一个std::mapfrom(string,function),其中string表示调用相应状态函数的状态.
  • main函数有一个字符串变量(从初始状态开始),并在循环中调用与该变量对应的函数.每个函数都执行所需的操作,并将新状态返回给main函数.

我的问题是:

  • 在大规模软件系统环境中,关于可伸缩性的switch-case语句有什么问题?
  • 如果是这样,我的解决方案(目前我觉得比使用长线性代码更模块化)将解决问题?

面试问题是期待C++习语的答案和大型软件系统的设计模式.

c++ design-patterns idioms state-machine switch-statement

32
推荐指数
4
解决办法
7万
查看次数

grep在所有目录中

我有一个名为XYZ的目录,里面有ABC,DEF,GHI目录.我想在所有目录中搜索所有*.c中的模式'writeText'(即XYZ,XYZ/ABC,XYZ/DEF和XYZ/GHI)我可以使用什么grep命令?

另外,如果我只想搜索XYZ,XYZ/ABC,XYZ/GHI而不是XYZ/DEF,我可以使用什么grep命令?

谢谢!

grep subdirectory

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

自动生成证书

我正在使用以下命令来生成证书:

makecert.exe" –sv cnName.pvk -n "cn=cnName" cnName.cer -r -eku 1.3.6.1.5.5.7.3.1
pvk2pfx -pvk cnName.pvk -spc cnName.cer -pfx cnName.pfx -po <password>
Run Code Online (Sandbox Code Playgroud)

这两个命令都会弹出一个密码窗口,供您输入。有没有一种方法可以自动执行此操作,因此没有弹出窗口?

automation cmd command-prompt makecert

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

JsonConvert DeserializeObject 区分大小写

我正在尝试将字符串内容反序列化为对象,但我希望内容区分大小写。仅当字符串具有小写属性时,代码才应成功;如果字符串具有大写属性,则代码应失败。以下是班级:

internal class ResponseList
{
    [DataMember]
    [JsonProperty]
    internal List<Response> Value { get; set; }
}

internal class Response
{
    [DataMember]
    [JsonProperty]
    internal string Id { get; set; }

    [DataMember]
    [JsonProperty]
    internal string Location { get; set; }

    [DataMember]
    [JsonProperty]
    internal PlanClass Plan { get; set; }
}

internal class PlanClass
{
    [DataMember]
    [JsonProperty]
    internal string Name { get; set; }

    [DataMember]
    [JsonProperty]
    internal string Product { get; set; }

    [DataMember]
    [JsonProperty]
    internal string Publisher { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以下是我的代码。但这不区分大小写。大写和小写都成功: …

c# serialization json case-sensitive deserialization

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

Shell命令/脚本,用于删除名称在文本文件中的文件

我有一个.txt文件中的文件列表(比如list.txt).我想删除该列表中的文件.我以前没有做过脚本.有些人可以提供我可以使用的shell脚本/命令.我有bash shell.

shell scripting file delete-file

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

在powershell中从字符串中解析指南

我对 powershell 和 guid 都是新手。网上讨论的所有示例都是为了验证指南。我找不到从字符串中解析 guid 模式的示例。指南的正则表达式是

^{[A-Z0-9]{8}-([A-Z0-9]{4}-){3}[A-Z0-9]{12}}$
Run Code Online (Sandbox Code Playgroud)

假设我有一个字符串

"This is a sample string with two guids. Guid1 is {FEB375AB-6EEC-3929-8FAF-188ED81DD8B5}. Guid2 is {B24E0C46-B627-4781-975E-620ED53CD981}"
Run Code Online (Sandbox Code Playgroud)

我想解析这个字符串以获取第一次出现的 guid,即 {FEB375AB-6EEC-3929-8FAF-188ED81DD8B5}。我怎样才能在 powershell 中做到这一点。

我尝试了以下方法。但它不起作用:

$fullString = "This is a sample string with two guids. Guid1 is {FEB375AB-6EEC-3929-8FAF-188ED81DD8B5}. Guid2 is {B24E0C46-B627-4781-975E-620ED53CD981}"

$guid = [regex]::match($fullString, '^{[A-Z0-9]{8}-([A-Z0-9]{4}-){3}[A-Z0-9]{12}}$')
Write-Host $guid.Groups[1].Value
Run Code Online (Sandbox Code Playgroud)

想知道我的表达方式或调用方式是否有问题。

regex string powershell

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

在Windows中启动和停止elasticsearch节点

我试图将elasticsearch作为一个进程启动并在不关闭命令提示符的情况下停止它.为了创建一个新进程,我正在使用:

C:\Users\User1\Desktop\Work\ElasticSearch\elasticsearch-1.3.1\bin>start /B elasticsearch
C:\Users\User1\Desktop\Work\ElasticSearch\elasticsearch-1.3.1\bin>start /B elasticsearch
C:\Users\User1\Desktop\Work\ElasticSearch\elasticsearch-1.3.1\bin>[2014-08-19 15:23:26,351][WARN ][bootstrap                ] jvm uses the c
lient vm, make sure to run `java` with the server vm for best performance by adding `-server` to the command line
[2014-08-19 15:23:26,433][INFO ][node                     ] [Batroc the Leaper] version[1.3.1], pid[5800], build[2de6dc5/2014-07-28T14:45:15
Z]
Run Code Online (Sandbox Code Playgroud)

该过程在端口9200上运行.

如何使用此命令或类似于已打开的命令提示符或运行elasticsearch节点进程的现有命令提示符来获取进程PID或名称以使用taskkill来终止此进程:

taskkill /PID <pid>
Run Code Online (Sandbox Code Playgroud)

Pid为5800(显示在上面的控制台中的进程日志中)不起作用.Windows任务管理器没有名为elasticsearch的进程.它只有一个cmd进程用于运行elasticsearch的命令提示符,当我终止该进程时,elasticsearch也会被杀死.

windows command-prompt process-control elasticsearch

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

"Stream不可读"与StreamReader一起使用ReadAsStreamAsync时出现ArgumentException

我有以下代码来读取和处理使用StreamReader的Http get请求的响应:

try
{
    Stream stream = await ExecuteRequestAsync(uriBuilder.Uri, HttpMethod.Get).ConfigureAwait(false);
    if (stream != null)
    {
        using (StreamReader sr = new StreamReader(stream))
        {
            using (JsonTextReader reader = new JsonTextReader(sr))
            {
                ...
            }
        }
    }
}
catch (Exception ReadingStreamException)
{

}

private async Task<stream> ExecuteRequestAsync(Uri uri, HttpMethod method)
{
    Stream stream;
    using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, uri))
    {
    try
    {
        stopwatch.Start();
        using (HttpResponseMessage responseMessage = await this.httpClient.SendAsync(httpRequestMessage).ConfigureAwait(false))
        {
            stream = await responseMessage.Content.ReadAsStreamAsync().ConfigureAwait(false);
        }
    }
    catch(Exception GettingStreamException)
    {
        // Error checking code …
Run Code Online (Sandbox Code Playgroud)

c# stream streamreader task-parallel-library async-await

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