ファイルから文字列を読み取り、qsort を使用してソートされた出力を出力します。だから私はこのようなものを書きます:
int main()
{
int n=0;
int size=1;
File *fp = fopen(args[0],"r");
int c;
char* inputFile;
inputFile = char* malloc(size);
if(fp==0){
fprintf(stderr, "Cannot open file!\n");
return -1;
else{
do{
c = fgetc(fp);
if(size==1){
inputFile[n]=c;
}
else{
inputFile = char* realloc(inputFile, size+1);
inputFile[n]=c;
}
n++;
size++;
}while(c!=EOF);
qsort(inputFile, 1, size, compare);//I have implement the compare function correctly
n=0;
while(n<size){
while(input[n]!='\0'){
printf ("%d ",inputFile[n]);
n++;
}
n++;
}
return 0;
}
したがって、入力ファイルが '\0vaaa\n\0ba\0\nabc' の場合、プログラムは print を出力する必要があります。
abc
ba
vaaa
ただし、私のコードはまったく機能していません。比較メソッドが正しい結果を返すことを確認しました。さらに、malloc-realloc を正しく実装しているかどうか疑問に思っています。どうも