我想使用此函數計算文件中每行的字數,@params line_number是文件包含的行數。C中文件中每行的字數
當我嘗試分析這個文件:
world hello
hello world
hello hello
world salut
我得到這些成果爲載體
vector[0] = 2
vector[1] = 2
vector[2] = 2
vector[3] = 1
vector[4] = 2
什麼是錯我的代碼?如何避免在沒有文字的情況下獲得1而不是0?
int * get_vtor(FILE *file, int line_number)
{
int *vtor = malloc(line_number*sizeof(int)), max, j, k, u;
char a_file_line[TAILLE_MAX_LINE]; // TAILLE_MAX_LINE is #define earlier to 100
j = k = u = max = 0;
rewind(file);
while((fgets(a_file_line, TAILLE_MAX_LINE ,file)) != NULL)
{
char * current = strtok(a_file_line," ");
while(current != NULL)
{
u++;
current = strtok(NULL, " ");
}
*(vtor+j) = u;
u = 0; j++;
memset(a_file_line, 0 , sizeof(a_file_line));
}
return vtor;
}
多麼複雜的方法來計算單詞... –