【发布时间】:2016-04-21 02:50:28
【问题描述】:
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main()
{
FILE *fp;
char s[50];
fp = fopen("line.txt" , "r");
if( fgets (s, 50, fp)!=NULL )
{
puts(s);
}
fclose(fp);
return 0;
}
我知道如何使用 printf 函数以所有大写和小写字母显示字符串。但我不知道如何使用 fgets 函数来做到这一点。我也在从文件中读取一个字符串,所以这对我来说很棘手。
【问题讨论】:
-
您不能使用
fgets读取或写入全部大写的字符串。您可以将字符串读入缓冲区,然后将缓冲区中的字符操作为全部大写等。 -
请注意,如果该行少于 49 个字符,您将得到两个换行符输出(一个来自
fgets()读取的字符串,一个来自puts()添加的字符串)。这可能无关紧要,但你应该意识到这一点。