如何解决您如何解决调试断言失败的问题?
我正在编写一个C程序,它将所有非字母问题都改为一个空格。但是,当我运行它时,我收到调试声明失败消息。我该如何解决? 这是我的代码:
int main(void) {
FILE* txtFileR = fopen("alg3file.txt","r");
FILE* txtFileW = fopen("destAlg3.txt","w");
int c;
while ((c = fgetc(txtFileR)) != EOF) {
if (isalpha(c)==0 && c!='\n') {
c = ' ';
}
fputc(c,txtFileW);
}
fclose(txtFileR);
fclose(txtFileW);
}
解决方法
很可能,您的fopen
调用之一失败并返回了NULL FILE *。传递fgetc
或fputc
时,您会得到未定义的行为,在您的情况下,该行为显示为有关无效流的调试断言。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。