注意:有可能有换行的输入
# include "stdio.h"
# include "string.h"
# include "stdlib.h"
int main()
{
FILE *fp;
char ch;
int cnt = 0;
if ((fp = fopen("test", "w")) == NULL)
{
printf("1文件test打开错误\n");
exit(0);
}
do
{
cnt++;
ch = getchar();
if (ch <= 'z' && ch >= 'a')
ch -= 32;
if (fputc(ch, fp) == EOF)
{
printf("字符%c输入文件错误\n",ch);
exit(0);
}
}while(ch != '!');
if (fclose(fp) == EOF)
{
printf("文件关闭错误\n");
exit(0);
}
if ((fp = fopen("test","r")) == NULL)
{
printf("文件test打开错误\n");
exit(0);
}
char s[100];
/* if (fgets(s, cnt + 1, fp) == NULL)
{
printf("获取字符串错误\n");
exit(0);
}
*/
if (fread(s, sizeof(char), cnt, fp) < cnt)
{
printf("...");
exit(0);
}
puts(s);
if (fclose(fp) == EOF)
{
printf("文件关闭错误\n");
exit(0);
}
return 0;
}