-2
我已經做了很多閱讀,並且很難找到一個簡單的方法來做到這一點。C閱讀文本文件
我有一個文本文件給我,我不知道大小,幷包含可能或可能不在多行的字符串。 (即:dog cat mouse he went to the store.
)
我需要讀取整個文件並以某種方式存儲它,以便我可以一次處理一個單詞。我知道我需要使用fread
或fgetc
或類似的東西。但是我無法讀取整個文件。
我已經做了很多閱讀,並且很難找到一個簡單的方法來做到這一點。C閱讀文本文件
我有一個文本文件給我,我不知道大小,幷包含可能或可能不在多行的字符串。 (即:dog cat mouse he went to the store.
)
我需要讀取整個文件並以某種方式存儲它,以便我可以一次處理一個單詞。我知道我需要使用fread
或fgetc
或類似的東西。但是我無法讀取整個文件。
使用的fscanf:
#define DEFAULT_SIZE 25
#define MAX_WORD_LENGTH 25
FILE *filePtr = fopen("/path/to/my/file.txt", "r");
char **readStrings = malloc(sizeof(char *) * DEFAULT_SIZE);
int allocatedStringSize = DEFAULT_SIZE;
int index = -1;
do {
if (index >= allocatedStringSize)
{
allocatedStringSize += DEFAULT_SIZE;
readStrings = realloc(readStrings, sizeof(char *) * allocatedStringSize);
}
readStrings[++index] = calloc(MAX_WORD_LENGTH, sizeof(char));
fscanf(filePtr, "%24s", readStrings[index]);
} while (!feof(filePtr));
fclose(filePtr);
注意這段代碼沒有錯誤與文件或malloc
檢查,這是給你的。
你的數據是怎樣的?如果你的數據是逐行的,你可以使用fgets。 – Teja 2012-03-20 20:39:45
FILE * myfile; MYFILE =的fopen( 「FILENAME.TXT」, 「R」);現在我已經嘗試了不同的fread,fgets,fgetc等,不管是什麼也不讀,或者是文件的一部分。我不知道下一步該怎麼做,也無法得到明確的說明。另外,我不知道數據是如何組織的。它可以是一行,一行一行,或者各行的句子。 – clay123 2012-03-20 20:43:24