如何重置while循环?(How do I reset a while loop?)
这是我正在处理的一些代码的摘录。 只是想知道如何重置嵌套循环? 当第一个循环再次运行时,它仍保留在文件的末尾。
while(fscanf(fp2,"%s", wordcheck)!=EOF)//Reads word from text file into array// { for (i=0; wordcheck[i]; i++) { wordcheck[i] = tolower(wordcheck[i]);//makes all characters lower case// } printf("%s", wordcheck); while(fscanf(fp1,"%s", worddict)) { if(strcmp(wordcheck, worddict)==0)//compare strings// { printf("This word: %s is in the dictionary\n", wordcheck); dictcount++; break; } else { dictcount++; } if(worddict == NULL) { printf("Your word: %s is not in the dictionary\n", wordcheck); } } }Here is an extract for some code that I am working on. Just wondering how would I go about resetting the nested loop? It remains at the end of the file when the first loop runs again.
while(fscanf(fp2,"%s", wordcheck)!=EOF)//Reads word from text file into array// { for (i=0; wordcheck[i]; i++) { wordcheck[i] = tolower(wordcheck[i]);//makes all characters lower case// } printf("%s", wordcheck); while(fscanf(fp1,"%s", worddict)) { if(strcmp(wordcheck, worddict)==0)//compare strings// { printf("This word: %s is in the dictionary\n", wordcheck); dictcount++; break; } else { dictcount++; } if(worddict == NULL) { printf("Your word: %s is not in the dictionary\n", wordcheck); } } }最满意答案
使用fseek :
fseek(fp2, 0, SEEK_SET);..或更简单地说, rewind :
rewind(fp2);Use fseek:
fseek(fp2, 0, SEEK_SET);.. or more simply, rewind:
rewind(fp2);更多推荐
发布评论