我通常使用XCode,但在使用此代码打开文件时出现问题:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
int main(void )
{
printf("Hello");
FILE *filePtr;
filePtr = fopen( "test.txt", "r" );
if (filePtr == NULL)
{
fprintf(stderr, "Can't open \"test\"\n");
exit(EXIT_FAILURE);
}
else
{
int x;
printf("File open successful\n");
/* read one character at a time until EOF is reached */
while ((x = fgetc(filePtr)) != EOF)
{
//printf("%c", x);
fprintf(stderr, "%x\n",x);
}
}
fclose(filePtr);
system("pause");
return EXIT_FAILURE;
}
控制台窗口关闭得如此之快,在VS的底栏显示:“'C_test.exe':已加载'C:\ WINDOWS \ WinSxS \ x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f \ msvcr90d.dll “ 程序'[1116] C_test.exe:Native'已退出,代码为1(0x1)。“ 这是什么意思?
另外,有人能指出我的VS起点/教程很好吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
您无法看到它的原因是您的程序在执行期间无法暂停。在Visual Studio中,典型的行为是在程序完成执行的第二步时关闭控制台窗口。
底栏告诉您程序已完成以及返回值是什么(在这种情况下为1)。
我还要做的是使用#ifdefs:
在程序的退出点之前添加代码#ifdef VS_DEBUG
fgetc(STDIN);
#endif
现在你的程序会在完成后暂停,等待按键然后关闭窗口。
我确信项目设置中还有一种方法可以阻止关闭,我从来没有看过自己。
答案 2 :(得分:1)
我通常在main的右括号上留一个断点,以便在调试时看到我的窗口输出,但是如果没有调试(Ctrl + F5)启动程序,Visual Studio将保持控制台窗口打开。或者,您可以直接询问输入,@ MadcapLaugher的fgetc(STDIN);
可能是您最好的选择 - 尽管我会添加提示:"Press any key to continue... "
答案 3 :(得分:0)
#include<stdio.h>
int main()
{
printf("Hello World from visual Studio \n");
//to prevent console window temination
system("pause");
return 0;
}