我有以下代码
int open(char* name) {
FILE *stream = fopen(name, "r");
fscanf(stream,"%d", &n);
i = 0;
while(i < n) {
fscanf(stream, "%s %d\n", stringArr[i], &val);
intArr[i] = val + counter + 1;
i++;
}
while(fscanf(stream, "%[^\n]\n", outputArr[counter]) == 1) {
counter++;
}
i = 0;
}
完美无缺。
我是C的新手,想了解更多有关效率的信息,所以我想知道有更好的方法来写这个吗?
我将解释文件的工作原理以及该方法应该做什么
该文件看起来像
2
TREE 4
SIX 1
Welcome, how are you?
This is the beginning of the end.
您看到的第一个数字是&#34;重要字数&#34;即TREE 4, and SIX 1
。
因此,我们首先必须阅读重要单词的数量,然后我们将words and the values
放入symbol table
类似的结构中。我只使用两个数组,一个用于words
,另一个用于values
。这是第一个while loop
所做的事情。
第二个while循环,在文件上继续到非重要行,并将它们读取到outputArray。
这已经很长了,但我的基本问题是,有没有办法让这段代码变得更好?
谢谢!