C Xcode вопрос - PullRequest
       6

C Xcode вопрос

2 голосов
/ 27 мая 2011

Я пытаюсь передать аргументы в командную строку в xCode. Я посмотрел эту проблему и обнаружил, что мне нужно установить в рабочем каталоге путь, по которому находится файл. Также я должен добавить аргументы на вкладку аргументов в Project-edit activeexecutable. Я тоже это сделал.

Я добавил michael.txt дважды.

/* This file is saved as readtext.c, compiled as readtext */ 
#include <stdio.h> 
void main(int argc, char *argv[]) 
{ 
    FILE *fin; 
    char buffer[100]; 
    printf("Michael Mazur\n"); 
    if (argc != 2) {printf("Usage: %s filename\n", argv[0]); exit(1);} 
    fin = fopen(argv[1], "r"); 
    if (!fin) {printf("Unable to open %s\n", argv[1]); exit(1);} 
    while (fgets(buffer, 99, fin)) fputs(buffer, stdout); 
    fclose (fin); 
}  

Я продолжаю говорить о том, что не передано 2 аргумента. Я также запустил небольшую тестовую программу, и она продолжает возвращать, что мне передается только 1 аргумент независимо от того, сколько я добавляю. Любая помощь?

1 Ответ

4 голосов
/ 27 мая 2011

argv[0] (путь к исполняемому файлу) считается в argc, поэтому, если вы добавите michael.txt дважды, argc будет равно 3. Немного более длинное описание будет здесь .(В общем, когда что-то ведет себя неправильно, используйте отладчик для проверки значений всех переменных или распечатайте их.)

Убедитесь, что оба аргумента проверены и находятся по отдельности.такие строки:

picture of xcode

Также, в будущем, пожалуйста, укажите, какую версию Xcode вы используете;Я думаю из твоего описания это 3.x, так вот как я ответил на вопрос.Пользовательский интерфейс довольно сильно различается между версиями.

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