社区讨论
萌新第一次使用电脑,求助有关 powershell
学术版参与者 6已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @mj42r1n5
- 此快照首次捕获于
- 2025/12/13 17:09 2 个月前
- 此快照最后确认于
- 2025/12/15 20:25 2 个月前
这个 powershell 怎么这么坏
CPP#include <bits/stdc++.h>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
把它编译并运行,使用
g++ main.cpp -o main.exe 和 ./main.exe > out.txt。G++ 版本:
gcc version 14.2.0。直接打开那个文本文件,发现输出正常。
实际上哪个文件的状态是这样的。
运行这个代码:
CPP#include <bits/stdc++.h>
using namespace std;
int main() {
ifstream ifs("out.txt");
for (int i = 0; i <= 100; i++) {
char c = ifs.get();
cout << '[' << c << ']' << (int)c << endl;
// if (c == EOF) {
// return 0;
// }
}
}
发现输出:
CPP[]-1
[-2
[H]72
[]0
[e]101
[]0
[l]108
[]0
[l]108
[]0
[o]111
[]0
[ ]32
[]0
[W]87
[]0
[o]111
[]0
[r]114
[]0
[l]108
[]0
[d]100
[]0
[!]33
[]0
]13
[]0
[
]10
[]0
[]-1
[]-1
[]-1
[]-1
// 后面重复
这样的东西。
先出现一个 EOF,之后是一个神秘 0xfe,之后是每输出一个正常字符就给我输出一个
'\0'。换成 cmd 正常输出。
有没有遇到过相似问题的,求解决办法。
直接使用powershell/cmd套powershell/VSCode 的内置终端的powershell效果一样,大概是 powershell 底层实现问题,与外面的壳无关。
回复
共 14 条回复,欢迎继续交流。
正在加载回复...