Открытие файла .txt в Xcode с помощью C и fopen () - PullRequest
0 голосов
/ 06 марта 2020

Не получается открыть файл в C. Что я делаю неправильно? Файл находится в том же каталоге, что и файл. c, и я думаю, что я получил весь синтаксис. Вот скриншот: enter image description here

В выводе указано, что указатель файла равен NULL.

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Чтобы это работало, «test.txt» должен находиться в том же каталоге, что и скомпилированный двоичный файл (который xcode может не помещать в тот же каталог, что и main. c - это может быть в продуктах? I я не так уверен с xcode). Попробуйте указать полное имя файла test.txt при вызове fopen.

0 голосов
/ 06 марта 2020

Если fopen терпит неудачу, fp устанавливается в NULL и errno устанавливается в соответствии. Чтобы понять почему, попробуйте:

#include <stdio.h>
#include <string.h>
#include <errno.h>

int
main( void )
{
  int status = EXIT_SUCCESS;
  FILE *fp = fopen(“test.txt”, “r”);
  if( fp == NULL )
  {
    fprintf( stderr, “Errno %d, Error %s, opening text.txt for reading.\n”, errno, strerror(errno));
    status = errno;
  }

  // Do something with fp...
  return(status);
}

Чтобы открыть файл из любого каталога, передайте имя файла в argv, проверьте аргументы и используйте этот параметр для main в качестве имени файла (преф. После копирования в выделенная переменная).

...