sususususu 发表于 2023-1-26 23:36:55

文件问题

#include <stdio.h>
#include <stdlib.h>
int main()
{
        FILE *fp;
        char ch, filename;
        printf("请输入所用的文件名:");
        scanf("%s", filename);
        getchar( );
        if((fp = fopen(filename,"w")) == NULL)
        {
                printf("cannot open file\n");
                exit(0);
        }
        printf("请输入一个准备存储到磁盘的字符串(以#结束):");
        ch = getchar();
        while(ch != '#')
        {
                fputs(ch,fp);                                       //显示错误        invalid conversion from 'char' to 'const char*' [-fpermissive]   这是为什么呢,怎么改进可以使得程序运转?
                putchar(ch);
                ch = getchar();
       }
        fclose(fp);
        putchar(10);
        return 0;
}

问题看备注,感谢帮忙。

额外减小 发表于 2023-1-26 23:41:06

我来答,先占个楼
(话说你怎么搞到这么晚?)

sususususu 发表于 2023-1-26 23:42:58

额外减小 发表于 2023-1-26 23:41
我来答,先占个楼
(话说你怎么搞到这么晚?)

闲的慌,看看谭浩强

额外减小 发表于 2023-1-26 23:43:32

知道了。19行函数用错了,应该是fputc()

额外减小 发表于 2023-1-26 23:44:26

sususususu 发表于 2023-1-26 23:42
闲的慌,看看谭浩强

好卷啊...{:10_277:}{:10_277:}

额外减小 发表于 2023-1-26 23:46:33

fputs你应该知道吧,是写入字符串。。。
fputc才是写入字符{:10_256:}

额外减小 发表于 2023-1-26 23:47:57

另外

建议改成do...while()语句会更美观一些

额外减小 发表于 2023-1-26 23:51:50

哦。。。好像还是用while更好。因为要考虑到结尾字符#
页: [1]
查看完整版本: 文件问题