Linux上的Eclipse Neon:没有用于C/C++;程序

Linux上的Eclipse Neon:没有用于C/C++;程序,c,linux,eclipse,C,Linux,Eclipse,对于Ubuntu 16.04.1上的Eclipse4.6.2,我很难让控制台与C/C++程序一起工作。当我从shell运行我的程序时,它在stdout和stderr上生成输出,并接受来自stdin的输入。然而,当我在Eclipse中“以C/C++应用程序的身份运行”时,控制台似乎无法工作——标准输出和错误从未出现,并且没有地方提供输入 有人见过这个吗?知道为什么会这样吗?值得注意的是,使用控制台的Java应用程序工作良好,因此这在某种程度上是特定于C/C++的 源代码: 编译器设置: 运行配置:

对于Ubuntu 16.04.1上的Eclipse4.6.2,我很难让控制台与C/C++程序一起工作。当我从shell运行我的程序时,它在stdout和stderr上生成输出,并接受来自stdin的输入。然而,当我在Eclipse中“以C/C++应用程序的身份运行”时,控制台似乎无法工作——标准输出和错误从未出现,并且没有地方提供输入

有人见过这个吗?知道为什么会这样吗?值得注意的是,使用控制台的Java应用程序工作良好,因此这在某种程度上是特定于C/C++的

源代码:

编译器设置:


运行配置:

您的问题可能有很多原因,但为了解决您的问题,我会给您一些要做的事情列表

1) 请在运行C/C++代码之前构建它。您可以通过Ctrl+B组合键或单击菜单来完成此操作

2) 确保当前项目中只有一个主函数,并且没有调试器错误

3) 代码在shell上工作而不在Eclipse中工作的原因可能是Eclipse可能不知道编译器的名称或路径。您可以通过以下路径检查此情况:

单击菜单上的文件->单击属性->展开“C/C++构建”->单击“设置”

在打开的屏幕中,您必须看到gcc/g++编译器设置正确,命令行模式正确,并且可以在Eclipse上工作

如果您提供有关Eclipse版本的更多详细信息或一些屏幕截图,我们可以更准确地帮助您

此外,我还建议在以下链接中使用“C/C++开发人员的Eclipse IDE”版本的Eclipse:

安装此版本时,可能不需要设置太多设置即可在项目中工作

编辑:这是FPUT的示例用法

 #include <stdio.h>

int main ()
{
   FILE *fp;

   fp = fopen("file.txt", "w+");

   fputs("This is c programming.", fp);
   fputs("This is a system programming language.", fp);

   fclose(fp);

   return(0);
}
#包括
int main()
{
文件*fp;
fp=fopen(“file.txt”,“w+”);
fputs(“这是c编程”,fp);
fputs(“这是一种系统编程语言。”,fp);
fclose(fp);
返回(0);
}

您是否尝试刷新标准输出?我在Eclipse和Ubuntu的旧版本中也遇到了类似的问题。由于某些原因,
\n
@Gerhardh之后没有刷新输出,我只是尝试添加fflush(stdout)和fflush(stderr),但仍然没有控制台。(我很确定这对stderr来说是多余的,但尝试一下也不会有什么坏处。:)步骤1-3看起来不错。我将附上一些相关对话框的屏幕截图。除了4.6.2之外,您还需要任何版本信息吗?您正在源代码中使用FPUT。Fputs不向控制台写入任何内容。它只是将字符串写入第二个参数中发送给fputs的文件中。在您的情况下,控制台中没有任何显示是正常的。只需使用“printf”即可在console中查看结果。fputs()将写入作为第二个参数传递的任何文件*,在本例中为stderr。考虑它类似于fPrimff(),但是没有格式化占位符如“%d”和“%s”的额外行为。