我在使用C语言进行编程时遇到问题,尤其是在Visual Studio中使用fopen时.我阅读了有关该fopen_s函数的内容并将以下行添加到我的项目中,但它仍然无效.
_CRT_SECURE_NO_WARNINGS
Run Code Online (Sandbox Code Playgroud)
所以我尝试用fopen_s这种方式:
FILE *fp;
errno_t err;
if ((err = fopen_s(&fp, "C:/File.txt", "rt")) != 0)
printf("File was not opened\n");
else
fprintf(fp, "Date: %s, Time: %s, Score: %i \n", __DATE__, __TIME__, score);
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
它仍在崩溃.怎么了?
我正在尝试将我的C++代码重写为C,并且遇到了通过指针比较枚举的问题.请看一下.
枚举:
enum state{TITLE,PLAY,LOST}
Run Code Online (Sandbox Code Playgroud)
我的功能看起来像这样:
void ChangeState(int *state, int NewState)
{
state = NewState;
if (state == TITLE)
{
/* something */
}
else if (state == PLAY)
{
/* something2 */
}
else if (state == LOST)
{
/* something3 */
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过以下方式调用此函数时:
ChangeState(&state, TITLE)
Run Code Online (Sandbox Code Playgroud)
等它无法正常工作.当我输入我的代码时:
if (state == TITLE)
{
/* instructions */
}
Run Code Online (Sandbox Code Playgroud)
我的错是什么?感谢你的时间提前.