小编Chr*_*cle的帖子

如何检查字符串是否以.txt结尾

我正在学习基本的C++,现在我从用户那里得到了一个字符串,我想检查他们是否输入了整个文件名(包括.txt).我有字符串,但如何检查字符串是否以".txt"结尾?

string fileName;

cout << "Enter filename: \n";
cin >> fileName;

string txt = fileName.Right(4);
Run Code Online (Sandbox Code Playgroud)

Right(int)方法仅适用于CString,因此上述代码不起作用.如果可能的话,我想使用常规字符串.有任何想法吗?

c++ string

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

使用 MVC Core 中的 TagHelper 链接到页面的指定部分

我有一个名为Legal控制的视图HomeController

我可以使用锚标记或 TagHelper 链接到此页面:

<a asp-controller="Home" asp-action="Legal">Cookie policy</a>
Run Code Online (Sandbox Code Playgroud)

在视图的 html 中Legal有一个部分id="cookies"

使用常规锚标记,如果我这样做,我可以让页面自动滚动到那里:

<a href="/Legal#cookies">Cookie policy</a>
Run Code Online (Sandbox Code Playgroud)

当我尝试在 TagHelper 中做同样的事情时asp-action="Legal#cookies",锚点是用 生成的href="/Legal%23cookies",它不会被我的控制器拾取。

在这个相关问题中读到如何在常规锚标签中使用 Razor 来解决这个问题。但是,我想使用 TagHelper 来做到这一点。有没有办法做到这一点?

anchor asp.net-mvc asp.net-core-tag-helpers

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

java中没有括号

我正在学习Java,并且我已经知道方法使用括号来传递参数.但是,我也注意到有时候我看到代码对我来说看起来像一个方法,但它没有括号.

MyObject.something()

MyObject.somethingElse
Run Code Online (Sandbox Code Playgroud)

whereElse没有括号.我假设这类似于arrayList具有size方法来获取其大小:

myList.size()
Run Code Online (Sandbox Code Playgroud)

而数组的长度可以得到它的大小,而没有括号:

myArray.length
Run Code Online (Sandbox Code Playgroud)

我的假设是否正确?如果没有,有什么区别? 这可能是一个基本问题,但由于我需要解释这个问题的数量,我在搜索它时遇到了麻烦.

java parentheses

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

条件句中== true的意义是什么?

我正在学习C++和java,我已经注意到如果你有条件,如果条件为真,即使你没有明确地写,也会执行以下代码 == true

考虑以下非常简单的C++代码:

bool c_plus_plus_is_cool(){
    return true;
}

int main(){
    if (c_plus_plus_is_cool()) {
        cout << "C++ is cool!";
    } 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问:有什么区别

if (c_plus_plus_is_cool())if (c_plus_plus_is_cool() == true)

在其他语言中也是这种情况(比如Java(==true这次我一直在写这个......))?

c++ java conditional

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

如何声明一个通过引用传递多维数组的函数

我有一个网格,我想传递给另一个显示它的函数.但是,我似乎无法弄清楚我将如何声明该函数,多维数组通过引用传递给该函数.

void foo(bool[][]&); //INCORRECT: how is a correct way to declare this function?

// rest of code :

int main(){
    bool grid[50][50] = {false};
    foo(grid);
    return 0;
}

void foo(bool& grid[][]){
    // do things
}
Run Code Online (Sandbox Code Playgroud)

这应该是一个基本问题,但我在寻找解决方案时遇到了很多麻烦.

c++ arrays multidimensional-array

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

为什么我的JPanel应该比它应该小?

我正在尝试学习Swing并制作了一个面板(在其他StackOverflow代码的帮助下).我在一个框架上添加了一个棋盘设计,但我发现框架没有它应该的那么大.

这是我的代码:

    @Override
    protected void paintComponent(Graphics g) {
        int width = getWidth(), height = getHeight();
        g.clearRect(0, 0, width, height);
        g.setColor(Color.BLACK);

        for (int i=0;i<=width;i+=50) {
            g.drawLine(0,i,width,i);
        }
        for (int i=0;i<=height;i+=50) {
            g.drawLine(i,0,i,height);
        }
        label.setText("H = "+ getHeight() +"  W = "+ getWidth()); // check actual size
        add(label);
    }

    private void gui(Pan window) {
        frame = new JFrame();
        Container container = frame.getContentPane();       
        container.add(window);
        frame.setSize(400, 400); // size written here
        frame.setVisible(true);
    }
Run Code Online (Sandbox Code Playgroud)

如果你运行它,你会看到窗口的大小.它将是362乘384,而不是代码中写的400乘400.

如果我将尺寸更改为500乘500,则窗口将为462乘484.

问:为什么尺寸偏差为38和16?

java swing

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