弹出警告MicrosoftVisualC++DebugLibraryfgets.c报错解决办法Microsoft Visual C++ Debug Library
Program:C:\WINDOWS\system32\PicsUU.scr
File:fgets.c
Line:60
Expression:str !=NULL
For information on your program can cause an assertion failure,see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
经检发现是函数读写⽂件的错误,报错代码如下
void NONO()
{/* 本函数⽤于打开⽂件,输⼊数据,调⽤函数,输出数据,关闭⽂件。 */
FILE *fp, *wf ;
int i; long r;
char s[10], *p;
fp = fopen("c:\\test\\in.dat","r") ;
wf = fopen("c:\\test\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(s, 10, fp);
p = strchr(s, '\n');
if (p) *p = 0;
r = fun(s);
fprintf(wf, "%ld\n", r);
}
fclose(fp) ;
fclose(wf) ;
}
发现是⽂件的打开也就是fopen⾥⾯的路径错误
因此到⽂件in.dat和out.dat改成正确的路径
void NONO()
{/* 本函数⽤于打开⽂件,输⼊数据,调⽤函数,输出数据,关闭⽂件。 */
FILE *fp, *wf ;
int i; long r;
char s[10], *p;
fp = fopen("C:\\EXAM\\00000000\\prog1\\in.dat","r") ;
wf = fopen("C:\\EXAM\\00000000\\prog1\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(s, 10, fp);
p = strchr(s, '\n');
if (p) *p = 0;
r = fun(s);
fprintf(wf, "%ld\n", r);
}
fclose(fp) ;
fclose(wf) ;
}
或者修改成相对路径
void NONO()
{/* 本函数⽤于打开⽂件,输⼊数据,调⽤函数,输出数据,关闭⽂件。 */
FILE *fp, *wf ;
int i; long r;
char s[10], *p;
fp = fopen("..\\in.dat","r") ;
wf = fopen("..\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(s, 10, fp);
p = strchr(s, '\n');
if (p) *p = 0;
r = fun(s);
fprintf(wf, "%ld\n", r);
}
fclose(fp) ;
fopen中文路径问题fclose(wf) ;
}
如此程序不会报Microsoft Visual C++ Debug Library fgets.c错
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论