EXC_BAD_ACCESS将char写入txt文件

时间:2011-07-30 21:54:56

标签: c exc-bad-access text-files

#include <stdio.h>
int main (int argc, const char * argv[])

{
    FILE *fp;
    fp=fopen("/Users/--------/Desktop/C.txt", "w");
    putc("C", "/Users/-------/Desktop/C.txt");
    fclose(fp);
}

这是我将字母“C”写入文本文件C.txt的简单代码。每次写入时都会收到错误代码EXC_BAD_ACCESS。什么事情发生了?

3 个答案:

答案 0 :(得分:5)

不应该使用putc的方式。尝试:

putc('C', fp);

putc看起来像这样:

int putc(int c, FILE *stream);

您正在传递char *而不是FILE *

答案 1 :(得分:1)

尝试以下方法:

 putc('C', fp);

putc期望其第二个参数为FILE*,而不是文件的路径。

第一个参数也应该是char,而不是像你的例子中的char *。

答案 2 :(得分:0)

你应该写信给文件:

putc('C', fp);

此外,您应该检查fopen是否未返回NULL