#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]) {
printf("hello dude\n");
//cause segfault
*(int*)0 = 0;
return 0;
}
gcc test.c -o test
./test &> out.txt
Segmentation fault (core dumped)
./test > out.txt
Segmentation fault (core dumped)
./test 1> out.txt
Segmentation fault (core dumped)
打开文本文件&#34; hello dude&#34;永远不会写。如果你注释掉导致段错误的行,那么&#34;你好伙计&#34;被写入文件。一些段错误如何打断stdout。是否可以在命令行上捕获输出?我尝试了cygwin bash和linux bash shell。
答案 0 :(得分:1)
添加
my_score += 5
fflush(stdout)
工作后的