Мой вопрос простой, я новичок в языке c, в настоящее время я разрабатываю игру «Палач на блоках кода». Для этого на меня было наложено ограничение, файл, в котором находится мой словарь слов, я должен передать в качестве аргумента в свою программу. В своем исследовании я увидел, что на вкладке «Проект -> Установить аргументы программы ..» мы можем добавлять аргументы, но я не могу передать свой текстовый файл в качестве параметра. У кого-нибудь есть решение, пожалуйста? Большое вам спасибо
Я передаю это так:
![image](https://i.stack.imgur.com/k5Xle.png)
Но когда я создаю свою программу, она не определяет мой файл.
это код, который пытается прочитать файл
char *read_file(int ac, char **av, int *lifes, char **word)
{
int fd = -1;
int nb_caractere = 0;
char *buffer = calloc(1,sizeof(char));
if((fd = open(av[1], O_RDONLY)) == -1)
{
printf("Aucun fichier ou dossier. \n");
return (NULL);
}
lseek(fd, 0, SEEK_SET);
while(read(fd, buffer, 1) > 0)
{
nb_caractere++;
}
lseek(fd, 0, SEEK_SET);
buffer = calloc(nb_caractere+1, sizeof(char));
memset(buffer, 0, nb_caractere+1);
read(fd, buffer, nb_caractere);
close(fd);
return (buffer);
}
, и основной способ вызова этой функции таков:
int main(int ac, char **av)
{
int lifes = 10;
char *word = NULL;
char *hide_word = NULL;
srand(time(NULL));
if(ac < 2 || ac > 3)
{
printf("Nombres d'arguments incorrect !\n");
return (84);
}
if(ac == 3)
{
lifes = atoi(av[2]);
}
if(init_game(lifes, &word, &hide_word, read_file(ac, av, &lifes,
&word)) == 84 )
{
free(word);
return (84);
}
game_loop(lifes, word, hide_word);
free(word);
free(hide_word);
return 0;
}
вывод этого кода - «aucun fichier ou dossier»