Как взять и распечатать последнее слово при чтении файла?
#include <stdio.h> #include <string.h> #include <stdlib.h> #define STRING_LEN 200 int main(){ FILE * fp1 = fopen("file.csv", "r"); char string[STRING_LEN], pinFind[STRING_LEN]; char * pinFound = NULL; printf("Enter the pin: "); scanf("%s", pinFind); while(fgets(string, STRING_LEN, fp1)){ pinFound = strstr(string, pinFind); if(pinFound){ char * word1 = strtok(string, ","); char * word2 = strtok(NULL, ","); char * word3 = strtok(NULL, ","); char * word4 = strtok(NULL, ","); char * word5 = strtok(NULL, ","); char * word6 = strtok(NULL, ","); printf("%s", word6); } } return 0; }
Что я уже пробовал:
В этом коде я пытаюсь взять последнее слово из файла, но не знаю, как это сделать? Результат примерно такой.
18-10-2020 19-10-2020 20-10-2020
Если я использую strrchr() если взять последнее вхождение, то последнее вхождение-это новая строка, и она не вернется и никакого результата. Но я использую функции strchr тогда первое появление также является новой строкой, поэтому оно не будет принимать последнее появление. Вместо этого будет взят второй последний случай, но я хочу напечатать последний.
Вот данные файла
Name,ID,Phone number,Pin code,Deposit,Date Ali Ahmed1,2222222222222,77777,6677,500,17-10-2020 Bilal Khan,2222222222222,77777,1122,500,18-10-2020 Ali Ahmed1,2222222222222,77777,6677,500,17-10-2020 Talha,2222222222222,77777,1122,500,19-10-2020 Ali Ahmed1,2222222222222,77777,1122,500,20-10-2020 Bilal Khan,2222222222222,77777,6677,500,17-10-2020