C 练习实例98
题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。 输入的字符串以!结束。
程序分析:无。
程序源代码:
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE*fp=NULL;
char str[50];
int i,len;
printf("输入一个字符串:\n");
gets(str);
len=strlen(str);
for(i=0;i<len;i++)
{
if(str[i]<='z'&&str[i]>='a')
str[i]-=32;
}
if((fp=fopen("test","w"))==NULL)
{
printf("error: cannot open file!\n");
exit(0);
}
fprintf(fp,"%s",str);
fclose(fp);
system("pause");
return 0;
}
以上实例运行输出结果为:
输入一个字符串: www.runoob.com
C 语言经典100例
Xipron
xip***@qq.com
参考方法:
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { FILE *fp; char in; fp = fopen("test.txt","w"); printf("请输入一个字符串(以!结束):\n"); while((in=getchar()) != '!') { if(in <='z' && in >= 'a') { in -= 32; } fputc(in,fp); } fclose(fp); return 0; }Xipron
xip***@qq.com
人水子月
ysp***830@163.com
将结果写入文件:
#include <stdio.h> #include <stdlib.h> #define NUM 100 //缓冲区大小100个字符 void up(char *str); int main() { char *buff=NULL; FILE *file=NULL; int i=0; file=(FILE *)fopen("./test","w"); if(file==NULL) { printf("创建文件失败!\n"); return -1; } buff=(char *)malloc(NUM*sizeof(char)); if(buff==NULL) { printf("创建缓冲区失败!\n"); return -2; } printf("请输入一些字符(以 ! 结束):\n"); scanf("%c",buff+i); while(*(buff+i)!='!' && i<99) //缓冲区最后一个位置存放'\0' { i++; scanf("%c",buff+i); } *(buff+i)='\0'; up(buff); if(fprintf(file,"%s",buff)>0) printf("输入文件成功!\n"); else printf("输入文件失败!\n"); return 0; } void up(char *str) { int i=0; while(*(str+i)!='\0') { if(*(str+i)>='a' && *(str+i)<='z') *(str+i)=*(str+i)-32; i++; } }人水子月
ysp***830@163.com