ايران ويج

نسخه‌ي كامل: یک سوال در باره رشته ها در C
شما هم اكنون متن قالب بندي نشده را مي‌بينيد.مشاهده‌ي نسخه‌ي اصلي
سلام دوستان

من برنامه ای در TC داشتم که میتوانست تعداد کلمات یک فایل متنی را شمارش کند . خواستم آن را طوری تغییر بدهم که یک کلمه خواص را که در متن وجود دارد شمارش کند اما نتوانستم .
من قبلا بارها این برنامه را با VB نوشته بودم و به خیال اینکه میتوان کارکتر ها را با هم چمع کرد تا به یک کلمه رسید ، اینکار را کردم ولی TC و C جواب نداند .


متن برنامه ای که میخوام آن را برای شمارش یک کلمه خواص تغییر بدهم به این صورت است :

کد:
/*----- Finder program ---------*/
#include <stdlib.h>;
#include <string.h>;
#include <stdio.h>;
#include <conio.h>;
main()

      {
        char *filename;
        char userword[80];
        char horuf[80];
        char *empty;
        char *s1;
        printf("Enter .TXT filename : ");
        gets(filename);
        RepeatSearchWord:
        printf("Enter word to search in %s file :");
        gets(userword);
        printf("%s\n",userword);
        if(userword==NULL)exit(0);
        FILE *fptr;
        int ch;
        char *chr;
        int white=1;
        int count=0;
        if(filename==NULL)
            {
                printf("ERROR : please enter a text file name.");
            }
        if((fptr=fopen(filename,"r"))==NULL)
            {
                printf("Can't open file %s.",filename);
            }
        printf("\n YOUR FILE : %s\n",filename);
        printf(" SEARCH FOR : %s\n",userword);

        while ((ch=getc(fptr))!=EOF)
          {
             /*chr=char(ch);*/
             switch(ch)
             {
                case ' ':
                case '\t':
                case '\n':white++;break;
                default:if(white){white=0;count++;}
             }
          }
        fclose(fptr);
        printf("File %s contains %d words.",filename,count);
        gets(s1);
    }
    /* END OF PROGRAM ! */

ممنون میشم اگر اینبار هم کمکم کنید .

قربان شما : ستاره Confused
دوست عزيز ، چرا بصورت بازگشتي نمي نويسيد ، مي تونه اون كلمه رو از ورودي بگيره و تابع بازگشتي اونو صدا بزنه.
آدرس اصلي