编辑问题
我给出了一些关于我的问题的背景知识,希望能帮助你更好地理解它:
我最近将我的IDE更新为VC ++ 2017。作为学习的一部分,我写了一个基本的汇编程序(用于mips ISA)。
一直运行良好,直到我到达将内存映像打印到文本文件的最后部分 - 我注意到在使用“fopen”之后文件指针被分配了一个值(非NULL),没有写入它。 这是输入/输出文件的定义和开放(由于空间不足而脱离上下文);
//File Pointers
FILE *fp_mem = NULL, *fp_asm = NULL;
/** Entering Main Function **/
// open files
fp_asm = fopen(argv[2], "r");
fp_mem = fopen(argv[1], "w");
if (fp_asm == NULL || fp_mem == NULL)
{
perror("ERROR");
exit(errno);
}
/** Assembler functionality **/
//write to file loop
for (i = 0; i <= highest_mem_access && i < MEM_SIZE; i++)
{
int temp = fprintf(fp_mem, "%08X\n", mem[i]);
}
//free label memory
free_label_list();
fclose(fp_asm);
fclose(fp_mem);
我尝试了各种选项,而不是fpritnf
- 没有用。
最重要的是 - 我的项目目录中没有创建文件!
任何想法的人?我很无望......如果需要,我会分享更多代码。
修改 这是一个简单的尝试写入VS2015中的文件:
#include <stdio.h>
int main()
{
//FILE *fp = fopen("C:/Users/Tom/Desktop/test.txt", "w");
FILE *fp = fopen("test", "w");
if (fp == 0)
{
perror("ERR");
return(11);
}
int count = fprintf(fp,"Hello there,General Kenobi");
fclose(fp);
}
fp不是NULL,fprintf后Count = 26,没有文件位于任何地方。 我也试着写到另一个地方(评论中) - 同样的问题。