编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件"test.tx

编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件"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、在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-02
void save(char *str, char *fileName); /*my.c*/#include "my.h"/*功能:将字符串中的小写字符转换成大写str:要转换的源字符串return 返回转换后的字符串*/char *upper(char *str){char *s = str;while(*s != '\0') {if (*s >= 'a' && *s <= 'z' ) {*s = *s - ('a' - 'A');}s++;}return str;}/*功能:将字符串输出保存到本地文件中str:要保存的字符串fileName:要存储到的文件名*/void save(char *str, char *fileName){FILE *pf;pf = fopen(fileName, "w");fputs(str, pf);fclose(pf);} /*main.c*/#include <stdio.h>#include "my.h"void main(){char s[100];printf("输入源字符串:");gets(s);printf("转换后的字符串:");puts(upper(s));printf("文件保存成功");}本回答被提问者采纳
相似回答