The code that you're posting above fundamentally uses the sort
command-line utility to do the sorting. When you write
system("sort Numbers.txt > Sorted.txt");
you're invoking sort
on the Numbers.txt
file, then redirecting the output of the command to the file Sorted.txt
.
The problem with your code is that before you try to do this, you're writing
fS=fopen("Sorted.txt","w");
This opens Sorted.txt
for writing, which on most operating systems will lock the file from writing by any other process - including your sort
process. To fix this, just eliminate all the fopen
and fclose
calls and just write
int main() {
system("sort Numbers.txt > Sorted.txt");
}
In fairness, if this is all that your program does, just execute the above command from the command line. If you're doing this as a subroutine, though, just use the system
command and don't do any manual fopen
or fclose
calls.
Hope this helps!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…