Так что я пытаюсь прочитать слова из файла. Однако я должен использовать putchar(ch)
, где ch
является int
. Как преобразовать ch в строку (char *), чтобы я мог сохранить ее в переменной char * и передать ее другой функции, которая принимает char * в качестве параметра. И я просто хочу сохранить его, но не печатать.Преобразование int в char * C
Это то, что у меня есть:
int main (void)
{
static const char filename[] = "file.txt";
FILE *file = fopen(filename, "r");
if (file != NULL)
{
int ch, word = 0;
while ((ch = fgetc(file)) != EOF)
{
if (isspace(ch) || ispunct(ch))
{
if (word)
{
word = 0;
putchar('\n');
}
}
else
{
word = 1;
putchar(ch);
}
}
fclose(file);
}
return 0;
}
'printf ("% c \ n ", ch)'? – kaylum
На самом деле я хочу сохранить его в переменной char *, чтобы передать эту переменную функции, которая принимает char * в качестве параметра – PTN
Тогда, пожалуйста, обновите свой вопрос. Не совсем понятно, что вы хотите сделать. Если вы хотите, чтобы это была строка (которая технически не эквивалентна символу 'char *'), вам нужно выделить для нее память (или вызывающий должен предоставить буфер). Затем вы просто копируете каждый символ в буфер и завершаете буфер с помощью '\ 0'. – kaylum