aa180482 2024-03-19 17:10 采纳率: 0%
浏览 4

QTc++如何在for循环外获取for循环里的值

img

img

img

这个dose的二维数组是在一个for循环里面 cout是在循环里面的输出结果就是图二 但是我在循环外把dose的数据打印在txt文本上的时候加了for循环也只能打印第一行,第二行到末行都是乱码 请问这个应该如何解决 这个dose还要用来传参到另一个cpp文件里进行计算。

  • 写回答

3条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-03-19 17:22
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述:在一个for循环里面输出了一个二维数组,而在循环外想将数据打印到txt文本中,但是只能打印出第一行,后面的行都是乱码。同时需要将这个二维数组传参到另一个cpp文件中进行计算。 解决方案:
    1. 打印到txt文本中只能打印一个数组的第一行,是因为在for循环中输出一行后并没有换行。可以在cout输出后手动添加换行符"\n"。 示例代码:
    for(int i=0; i<row; i++){
        for(int j=0; j<col; j++){
            // 输出
            cout << dose[i][j] << " ";
            // 输出后加换行符
            if(j == col-1) cout << endl;
        }
    }
    
    1. 打印到txt文本中乱码的问题,可能是因为文本的编码格式不匹配。可以尝试修改为UTF-8编码格式。
    2. 将二维数组传参到另一个cpp文件中进行计算,可以将其定义为一个全局变量,然后在另一个cpp文件中使用"extern"关键字声明使用。 示例代码: 在A.cpp文件中定义二维数组:
    int dose[10][10];
    

    在B.cpp文件中使用二维数组:

    // 声明使用二维数组
    extern int dose[10][10];
    int calc(){
        int sum = 0;
        for(int i=0; i<10; i++){
            for(int j=0; j<10; j++){
                sum += dose[i][j];
            }
        }
        return sum;
    }
    

    注意:要保证B.cpp文件能够访问到A.cpp文件中定义的变量,需要在编译时将A.cpp和B.cpp一起编译。可以通过Makefile或者Cmake文件来实现。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥30 为什么会失败呢,该如何调整
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店