这个dose的二维数组是在一个for循环里面 cout是在循环里面的输出结果就是图二 但是我在循环外把dose的数据打印在txt文本上的时候加了for循环也只能打印第一行,第二行到末行都是乱码 请问这个应该如何解决 这个dose还要用来传参到另一个cpp文件里进行计算。
3条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题描述:在一个for循环里面输出了一个二维数组,而在循环外想将数据打印到txt文本中,但是只能打印出第一行,后面的行都是乱码。同时需要将这个二维数组传参到另一个cpp文件中进行计算。 解决方案:- 打印到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; } }
- 打印到txt文本中乱码的问题,可能是因为文本的编码格式不匹配。可以尝试修改为UTF-8编码格式。
- 将二维数组传参到另一个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文件来实现。
解决 无用评论 打赏 举报
悬赏问题
- ¥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设计在线书店