从键盘输入一个字符串,将其中的大写字母全部转化成小写字母,然后输出到一个磁盘文本文件”test”中保存,输入的字符串以”!”结束。。C语言
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
FILE *fp;
// 从键盘读取输入字符串
printf("请输入一个字符串:");
fgets(str, 100, stdin);
// 将大写字母转换为小写字母
for (int i = 0; str[i] != '\0'; i++)
{
str[i] = tolower(str[i]);
}
// 将结果写入磁盘文件中
fp = fopen("test.txt", "w");
fprintf(fp, "%s", str);
fclose(fp);
printf("已将结果写入磁盘文件中。\n");
return 0;
}
可以循环从输入读取字符,直到遇到感叹号则结束输入,获取字符后,如果输入的是大写字母,则换为对应的小写字母,然后再将每一个字符存入字符数组;
循环结束,再将字符数组中的字符逐个写入文件test即可。
代码如下:
参考链接:
#include <stdio.h>
int main(void){
// 存储要写入文件的数据的字符数组
char content[1000];
int i=0; // 字符数组下标变量初始化为0
printf("请输入字符串(以!结束):\n");
char ch=getchar(); // 获取一个字符
while(ch!='!'&&i<1000){ // 如果输入的不是'!'感叹号,并且未到字符数组最大长度
// 如果输入的字符是大写字母,则转为对应的小写字母
if(ch>='A'&&ch<='Z'){
ch='a'+ch-'A';
}
// 将输入的字符存入字符数组
content[i]=ch;
ch=getchar(); // 获取下一个字符
i++; // 数组下标变量+1
}
FILE * fp = fopen("test","w");
int j=0;
// 将字符数组的全部字符写入文件test中
while(j<i){
// https://www.runoob.com/cprogramming/c-function-fprintf.html
fprintf(fp,"%c",content[j]);
j++;
}
fclose(fp); // 关闭文件
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch;
FILE *fp = NULL;
if((fp=fopen("test","w"))==NULL){
printf("打开test文件错误\n");
exit(0);
}
printf("输入一串字符,以“!”为结尾,这串字符将存入文件test中\n");
while((ch=getchar())!=EOF&&ch!='!')
{
if(ch>='a'&&ch<='z')
{
ch = ch-'a'+'A';
}
fputc(ch,fp);
// ch = getchar(); 不要写
}
fclose(fp);
printf("文件已关闭,程序退出!\n");
return 0;
}
供参考:
#include <stdio.h>
#include <conio.h>
int main()
{
FILE *fp;
char ch;
if (fp = fopen("test.txt", "w")){
while ((ch = getchar()) != '!'){
if (ch >= 'A' && ch <= 'Z')
ch += 32;
putch(ch);
fputc(ch, fp);
}
fclose(fp);
}
return 0;
}