Я работаю над проектом для моего класса программирования C для программы, которая вводит пользовательский ввод либо с клавиатуры, либо из текстового файла, а затем печатает количество каждого символа в файле. Мне удалось получить его для вывода на консоль с помощью stdout, но мне трудно получить его для вывода в файл, когда пользователь использует «-o».C программный ввод петли
Она продолжает давать мне BADFILE
(NULL
) всякий раз, когда я использую ./counts apple.txt
или ./counts apple.txt -o appleresults.txt
if(argv[i] = "-o")
{
fp = fopen(argv[i+1], "w");
if(fp == 0)
{
BADFILE(argv[i+1])
}
}
}
}
Я думаю, что он должен делать с петлей if(argv[i]="-o")
, но я не могу показаться, чтобы решить эту ошибку.
Используйте 'strcmp (argv [i]," -o ") == 0' для сравнения строк. –
Тест равенства равен '==', присваивание - '=', а строки - просто указатели - вы не можете сравнивать строки, проверяя равенство указателей. Это абсолютные основы C. Возможно, вам нужно проработать вступительную книгу по C. – paddy
Хорошо. Я понимаю разницу между == и =, но я пропустил ее при чтении кода. – AppleGate0