题目:编写一个程序,从键盘输入一些字符,并将它们逐个送到磁盘上保存,直到输入字符 '#' 为止。

程序分析:在这个程序中,我们使用 FILE 结构来操作文件。首先,我们要求用户输入要保存的文件名称,并将其存储在字符数组 filename 中。然后,我们尝试打开该文件,如果打开失败则输出错误信息并退出程序。

接下来,我们提示用户可以开始输入要保存的字符,并使用 getchar() 函数逐个读取字符。我们使用循环判断读取的字符是否为 '#',如果不是则将字符逐个写入文件中。

最后,我们关闭文件并结束程序。

实例

#include<stdio.h>
#include<stdlib.h>

int main()
{
    FILE *fp = NULL;
    char filename[25];
    char ch;

    printf("输入你要保存到的文件的名称:\n");
    gets(filename);

    if ((fp = fopen(filename, "w")) == NULL)
    {
        printf("error: cannot open file!\n");
        exit(0);
    }

    printf("现在你可以输入你要保存的一些字符,以#结束:\n");
    getchar();

    while ((ch = getchar()) != '#')
    {
        fputc(ch, fp);
    }

    fclose(fp);

    system("pause");

    return 0;
}

在这个程序中,我们首先声明了一个指向 FILE 的指针 fp,以及一个字符数组 filename 和字符 ch。然后,我们使用 gets() 函数从用户输入获取要保存的文件名称,并尝试打开该文件。

如果文件打开失败,则输出错误信息并退出程序。如果文件打开成功,则提示用户可以开始输入要保存的字符。

在循环中,我们使用 getchar() 函数逐个读取字符,直到读取到字符 '#' 为止。然后,我们使用 fputc() 函数将字符逐个写入文件中。

最后,我们关闭文件,并使用 system("pause") 函数使程序暂停,以便用户查看输出结果。

运行程序,输入文件名称和要保存的字符,直到输入 '#' 结束。例如:

输入你要保存到的文件的名称:
test.txt
现在你可以输入你要保存的一些字符,以#结束:
www.javatiku.cn
#

这表示我们输入了字符串 "www.javatiku.cn",然后按下回车并输入'#',程序将该字符串逐个写入文件 "test.txt" 中。你可以打开该文件查看结果。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题