小编Aze*_*eem的帖子

在c语言的结构中定义没有标识符的struct var时意味着什么?

在C语言中,struct Animal;第6行的含义是什么?
在C89或C99或C11中是否合法?

struct Animal {
    char *name;
    int age;
};

struct Cat {
    struct Animal;   // line 6
    int category;
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

c structure

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

C scanf奇怪的行为

我在给定的代码中遇到一个问题,即输入(2 X++ X++)会产生输出(2 0),或者任何输入都会产生(n 0)而不是(n n).任何人都可以解释这种行为的原因吗?

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    int number = 0;
    for (int i = 0; i < n; i++)
    {
        char operation[3];
        printf("%d\n", n);
        scanf("%s", operation);
        printf("%d\n", n);
        if (operation[0] == '+' || operation[2] == '+')
            number++;
        else
            number--;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c scanf

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

当我的阵列达到一定大小时,Qt无法工作

出于测试目的,我在Qt中尝试不同大小的数组.

这是代码:

#include <QCoreApplication>
#include <iostream>    
using namespace std;

int const sizeArray = 519199;

int main()
{    
    string arr[sizeArray];

    for(int i = 0; i < sizeArray; i++)
    {    
        arr[i] = i;
    }

    arr[499999] = "Test";
    cout << arr[499999] << endl;
}
Run Code Online (Sandbox Code Playgroud)

sizeArray为519999时,程序快速运行并显示"Test".但是当sizeArray519200或更多时,程序运行时间较长(约5秒),然后完成而不显示"测试".

这是OS或Qt的内存限制吗?

c++ arrays qt

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

Java - 以编程方式剪切字符串

我有一个字符串 02_Cuppy_lol.webp

我想它只会变成02_Cuppy_lol.webp,我是怎么做到的?请帮帮我

java string

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

如何在 GitHub Actions 中缓存 dotnet 安装

我的 CI 管道中有两个步骤。一是缓存dotnet的安装路径,二是dotnet安装。并使用 windows-2019 图像。但系统永远无法识别 .net 7 可用,它始终安装了 .net 6.0。缓存还显示缓存了 200MB,但可能某些 PATH 变量需要调整。有人可以帮我弄这个吗?

    runs-on: windows-2019

    env:
      DOTNET_INSTALL_DIR: '.\.dotnet'
      DOTNET_ROOT: '.\.dotnet'
Run Code Online (Sandbox Code Playgroud)

我的缓存步骤是:

      - name: Cache dotnet
        id: cache-dotnet-core # id used in cache-hit condition
        uses: actions/cache@v3
        with:
          path: '.\.dotnet' #~/.dotnet
          key: ${{ runner.os }}-dotnet-${{ hashFiles('**/project.assets.json') }}
          restore-keys: ${{ runner.os }}-dotnet-${{ hashFiles('**/project.assets.json') }}
Run Code Online (Sandbox Code Playgroud)

我的 dotnet 安装步骤是

      - name: Install Dotnet
        #if: steps.cache-dotnet-core.outputs.cache-hit != 'true' # condition to check if old installation is available in cache
        uses: actions/setup-dotnet@v3
        with:
          dotnet-version: 7.0.x
Run Code Online (Sandbox Code Playgroud)

请记住,保存缓存后,第二次运行作业将显示 .net …

.net continuous-integration caching github-actions

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

Kotlin简化布尔表达式

为什么我"Simplify boolean expression"if条件行中会出现一个小错误?

例如这段代码:

if (isClear==true){
    displayText.setText("")
}
Run Code Online (Sandbox Code Playgroud)

boolean-expression kotlin

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

(char*)'r'和"r"之间有什么区别?

我在之间的区别感到困惑(char*)'r'"r",也许(char*)"r",如果这是从不同的"r".

int main () {
    char fileNameOriginal[MAXLINE] = "test.txt";
    openFile(&fp, fileNameOriginal, (char*)'r');
}
openFile(FILE **fp, char fileName[], char* mode) {
    *fp = fopen(fileName, mode);
}
Run Code Online (Sandbox Code Playgroud)

传递模式参数的这种格式fopen不会导致我的eclipse IDE出现警告/错误.但是,将无法正确读取该文件.另一方面,传递"r"(char*)"r"将产生正确的阅读.

c char

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

如何在其他QMap中迭代QMap

我寻找如何QMap在其他中迭代 a QMap,例如:

QMap<int, QMap<int, QString>> map;
Run Code Online (Sandbox Code Playgroud)

以前我使用简单的 C++std::map和以下代码并且有效:

for(auto it = this->liste.begin(); it != this->liste.end(); it++) {
    for(auto itr = it->second.begin(); itr != it->second.end(); itr++) {
        //It works !!!!!
        //qDebug() << "First : " << itr->first;
        //qDebug() << "Second : " << itr->second;

        //d.setPath(itr->second);

        //qDebug() << "Path :" << itr->second << " Prefix :" << this->prefix << " Nb :" << itr->first;
        process(d.absolutePath(), this->prefix, itr->first);

        this->liste.clear();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何使用QMap而不是std::map为了在循环中使用 the …

c++ qt qlist qmap c++14

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