私はいくつかの単語を含む.txtファイルを持っており、小文字にする必要があります。 各単語を小文字にする方法は? strtok()へのtolower()の追加だけでは機能しません。私は何を追加すべきですか?あるいは、最初にファイル全体に対してtolower()を使用する方が簡単でしょうか?しかしどうですか?助けてください!tolower()をchar *と一緒に使用するには?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <ctype.h>
int main(void)
{
char str[5000];
char *ptr;
char *words[5000];
FILE * fp = fopen("hi.txt", "r");
fgets(str, 49, fp);
ptr = strtok(str, ",.; ");
int i = 0;
while(ptr != NULL)
{
words[i]= ptr;
i++;
ptr = strtok(NULL, ",.; ");
}
fclose(fp);
for(int j=0;j<i;j++) {
printf("%s\n", words[j]);
//printf("%s\n", tolower(words[j])); // Doesn't work!
}
return 0;
}
例:
hi.txt
Foo;
Bar.
Baz.
についてtolower
、あなたは文字による文字列の文字をループしてみてください可能性が期待される出力
foo
bar
baz
'void main()' - > 'int main(void)'となります。 –
'tolower()'は単語ではなく1文字に適用されます。あなたは 'strlwr()'を試すことができます。 –