いくつかの単語を含む .txt ファイルがあり、それらを小文字にする必要があります。各単語を小文字にする方法は? tolower() を strtok() に追加するだけでは機能しません。何を追加すればよいですか?または、最初にファイル全体で tolower() を使用する方が簡単でしょうか? しかし、どのように?助けてください!
#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.
期待される出力
foo
bar
baz