По какой-то причине при создании моей программы, он говорит, что у меня есть эта ошибка:Неизвестная ошибка при конверсии [C]
error: invalid conversion from 'char' to 'const char*' [-fpermissive]
strcpy(phrase[counter].word, ch);
Я не совсем уверен, что означает, что компилятор, я попытался изменить char ch
до const char ch
, но это не похоже на проблему. Если бы кто-нибудь мог пролить свет на этот вопрос, это было бы здорово.
Вот код, который вы можете найти на сайте:
const char* clean_word(void);
void create_word(struct Word_setup phrase[], FILE *fp)
{
char ch;
fscanf(fp, "%s", &ch);
strcpy(phrase[counter].word, ch);
strcpy(phrase[counter].word, clean_word());
}
const char* clean_word()
{
int i;
const char *ch = phrase[counter].word;
ch = phrase[counter].word;
for (i = 0; i < M; i++)
{
if (phrase[counter].word[i] == 39 || isalpha(phrase[counter].word[i])) //39 is the ASCII value for: '
i = i; //Just to be there, no reason to it. I just want the program to do nothing if its a letter or '
else
phrase[counter].word[i] = '\0';
}
return ch;
}
Кроме того, в случае, если вам интересно, что это за, я создаю программу, которая будет сканировать *.txt
файл, а затем распечатать слова с наибольшим количеством выступлений, а также количеством выступлений.
Если вы уже прочитали мое старое сообщение, я решил попробовать его без повторного выделения пространства каждый раз, когда массив заполняется, и я просто установил его на 200 максимальных типов слов. Я поменяю программу, когда закончу, чтобы он перераспределял пространство каждый раз, когда массив заполняется.
у вас отсутствует указатель на char ch. – macmania314
Повторяя себя: 'const char * ch = phrase [counter] .word; ch = фраза [counter] .word; 'действительно не помогает, хотя в этом контексте он не наносит огромного ущерба (в других случаях, например, при распределении памяти, это может быть вредно). –
относительно этой строки: 'for (i = 0; i
user3629249