Fprintf не печатает данные в файл - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь получить данные из моего массива arr для печати в файл "out.txt". Программа была в состоянии сделать это раньше, но по какой-то причине теперь вообще не печатает и даже после отмены предыдущей версии ничего не печатает.

У меня есть код, который подтверждает, что файл успешно открыт и данные в массиве верны. Все остальные функции работают правильно.

int main () {

    FILE *inFile;
    FILE *outFile;
    int n = 0;

    inFile = fopen("in.txt", "r");

    if (inFile == NULL) {
        printf("File failed to open");
    }
    outFile = fopen("out.txt", "w");

    if (outFile == NULL) {
        printf("outFile failed to open");
    }

    fscanf(inFile, "%d", &n);

    struct Point* arr;
    arr = (struct Point*) malloc (n * sizeof(struct Point));
    int i = 0;


    while (i<n){
        fscanf(inFile, "%d %d", &arr[i].x, &arr[i].y);
        i++;
    }

    mergeSort(arr, 0, n-1);

    fprintf(outFile, "%d\n", n);

    for (int i = 0; i<n; i++){
        printf("%d %d\n", arr[i].x, arr[i].y);
    }

    for (int i = 0; i<n; i++){
        fprintf(outFile, "%d %d\n", arr[i].x, arr[i].y);
    }

    printf("\nSorted and output written to File\n");

    int searchx, searchy;

    printf("Please enter a point to search for:  ");
    scanf("%d %d", &searchx, &searchy);

    int result = 0;

    result = binarySearch(arr, searchx, searchy,0, n);

    if (result == -1) {
        printf("Point not found");
        return 0;
    }
    else {
        printf("Point found in element %d", result);
    }
    fclose(inFile);
    fclose(outFile);
}

ожидаемые результаты с вводом образца. In.txt:

5
6 3
4 6
2 5
2 7
5 2 

out.txt:

5
2 5
2 7
4 6
5 2
6 3

Фактические результаты: out.txt:

//Blank

1 Ответ

0 голосов
/ 03 апреля 2019

Этот код отлично работает здесь, на моем Mac, по крайней мере с закомментированной сортировкой mergeSort.Вы не работаете в Windows, не так ли?Если это так, файл может выглядеть пустым, потому что в нем отсутствует возврат каретки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...