从键盘输入一个字符串,将其中的小写字母全部转换为大写字母,然后输出到一个磁盘文件“test.txt”中保存
实现该功能的吃语言具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
int i=0;
char str[100];
printf("请输入字符串,并且以感叹号!结束:\n");
if((fp=fopen("test.txt","w"))==NULL)//打开输出文件并使fp指向此文件
{
printf("无法打开此文件!\n");//如果打开出错就输出打不开的信息
exit(0);//退出程序
}
gets(str);
while(str[i]!='!')
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
fputc(str[i],fp);//向磁盘输出字符,将str所指向的字符,串输出到fp指向的文件中
i++;
}
fclose(fp);
//把转换后的字符串输出
if((fp=fopen("test.txt","r"))==NULL)
{
printf("File open falied!\n");
exit(0);
}
printf("转换后的字符串是:\n");
puts(fgets(str,strlen(str)+1,fp));//从文件读取一个字符串,长度是strlen(str),并且显示出来
fclose(fp);
return 0;
扩展资料:
c语言基础知识:
1、每个C程序有且只有一个主函数 maino,且程序必须从main函数开始执行,并在maino函数中结束。
2、在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3、用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串。
4、外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5、在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
#include<stdio.h>
void main()
{
char str[100];
FILE *p;
int i,len=0;
printf("输入一串英文字符:\n");
while((str[len]=getchar())!='!')
{
len++;
}
for(i=0;i<len;i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
p=fopen("c:\\test.txt","w");
fputs(str,p);
fclose(p);
}
void convert(char *str)
{
while (*str!='\0')
{
if (*str>='a' && *str<='z')
{
*str-=32;
}
*str++;
}
}
main()
{
FILE *fp;
char str[100];
fp = fopen("test.txt","w");
gets(str);
convert(str);
fputs(str,fp);
fclose(fp);
}