c - freopen 导致段错误

标签 c segmentation-fault freopen

知道为什么会这样:

#include <stdio.h>
#include <stdlib.h>

int nrpart;
int k;

void main()
{
    printf("lol");
    freopen("p2.in","r",stdin);
    freopen("p2.out","w",stdout);
    printf("roar");
}

只输出lol?我其他时候使用过 freopen,但它现在似乎不起作用,我真的不知道为什么。

最佳答案

检查文件 p2.out。第二次调用 printf 打印的文本在那里,因为您将标准输出重定向到该文件。没有分段违规。不过,这是个好笑话。

关于c - freopen 导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991374/

相关文章:

c++ - 同步屏幕 I/O & pthread & C++

objective-c - Objective-C 原始数之间的区别

c - 结构内存分配错误

c - 在 c 中通过 TCP 发送 MQTT 连接数据包

c++ - 为什么我总是在 C++ 套接字的服务器端接收数据?

c++ - 使用 g++ 优化的 Rapidjson 段错误

go - 相当于 Go 中的 freopen

c - C 中的段错误(核心转储),K&R 练习 2.5 的 C 编程语言

c++ - freopen和cout创建内部错误

c - 尝试以二进制模式重新打开 tty 是否有意义?