0

ファイルから取得したテキストの単語数をカウントするプログラムを作成しようとしました。問題があります。コンパイラはファイルを見つけることができませんが、このファイルをプロジェクト フォルダに置きました。私に何ができる?

#include <stdio.h>
#include <conio.h>
#include <string.h>

int words(const char sentence[ ]);

int main(void) {
    char sentence[100];
    FILE *cfPtr;

    if ( (cfPtr = fopen("C programming.dat", "r")) == NULL ) {
        printf( "File could not be opened\n" );
    }
    else {
        fscanf(cfPtr, "%s", sentence);
    }

    words(sentence);
    printf("%d", words(sentence));
    getch();
    return 0;
}

int words(const char sentence[ ]) {
    int i, length = 0, count = 0, last = 0;
    length = strlen(sentence);

    for (i = 0; i < length; i++)
        if (sentence[i] == ' ' || sentence[i] == '\t' || sentence[i] == '\n')
            count++;

    return count;
}
4

2 に答える 2

0

ファイルが作業ディレクトリ (プログラムがあるフォルダー) にない場合は、ファイル パス全体を指定する必要があります。Linux マシンでは、これは"/home/your-user-name/Desktop/text.txt". Windows マシンの場合は"c:\\your\\file\path\\text.txt". ファイルが作業ディレクトリにあり、プログラムがまだそれを見つけられない場合は、ファイル名の空白が気に入らない可能性があります。名前を付けてみてCProgramming.dat、それが機能するかどうかを確認してください。

于 2013-06-20T21:15:45.363 に答える