char string[50], s[50];
struct stat buf;
int counter = 0;
while (fgets(string, sizeof string, stdin)) {
if (strspn(string, "size ") == 5) {
for (int i = 5; i < strlen(string); i++) {
s[counter] = string[i];
counter++;
}
s[counter] = '\0';
if (stat(s, &buf) < 0)
return 1; //PROBLEM OCCURED
printf("FILE: %s\n", s);
printf("SIZE: %d\n", (int)buf.st_size);
}
}
プログラムのコンテキストはそれほど重要ではありませんが、「サイズ」の後にファイルの名前が唯一の入力であるため、これを使用しようとしています。次に、それを stat に渡します。これは、指定されたファイルが存在する場合、そのファイルのバイト数を提供するはずです。最終的に、統計を間違って使用しているように、プログラムは毎回1を返します。助けてください!