从键盘输入n名学生数据,转存到磁盘文件,然后回显

最近一个同学要我跟她写这个程序 ,我自己写的不咋地,权当看看得了

#include<stdio.h>
#include<conio.h>
typedef struct
{
int Num;
char Name[32];
float Score[3];
float Average;
}STD_T;
void AddStuInfo();
int main()
{
char ch;
do
{
AddStuInfo();
printf("录入下一个学生成绩?(y/n) ");
ch = getch();
}
while(ch == 'y');
FILE* file=fopen(
为了实现从键盘输入20个字符并逐个写入磁盘文件的需求,可以使用C语言中的标准输入函数和文件操作函数。具体来说,可以通过 `getchar()` 函数逐个读取用户输入的字符,并通过 `fputc()` 函数将这些字符写入到打开的文件中。程序会在用户输入20个字符后自动停止,并关闭文件完成写入操作。 以下是完整的实现代码: ```c #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char filename[30]; char ch; int count = 0; printf("请输入目标文件:"); scanf("%s", filename); getchar(); // 消除缓冲区中的换行符 if ((fp = fopen(filename, "w")) == NULL) { printf("无法打开文件\n"); exit(0); } printf("请输入20个字符(每次输入一个):\n"); while (count < 20) { ch = getchar(); if (ch == '\n') continue; // 跳过换行符 fputc(ch, fp); // 将字符写入文件 putchar(ch); // 在屏幕上回显该字符 count++; } fclose(fp); putchar('\n'); return 0; } ``` ### 程序说明: 1. **文件输入**:首先要求用户输入文件,并将其存储在`filename`数组中。 2. **文件打开**:使用`fopen()`函数以写模式("w")打开指定文件。如果文件无法打开,则输出错误信息并终止程序。 3. **字符输入与处理**:使用`while`循环接收用户输入的字符,直到累计接收到20个有效字符为止。每次读取一个字符并通过`fputc()`函数写入文件,同时使用`putchar()`在终端上显示该字符。 4. **结束处理**:当达到20个字符时,关闭文件并输出一个换行符以确保格式整洁。 ### 注意事项: - 如果用户输入过程中包含换行符(例如按下Enter键),程序会跳过这些换行符以避免影响字符计数。 - 文件操作完成后必须调用`fclose()`函数以确保所有数据正确写入磁盘
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值