Я пытаюсь вывести все комбинации различных чисел в наборе. У меня запущена программа, и у меня есть выходной файл Excel, который создается, но я не могу получить результаты для печати в выходной файл. Строка fputs(num[i],fp), похоже, связана с ошибкой

Source.cpp (45): ошибка C2664: 'int fputs (const char *, FILE *)': невозможно преобразовать аргумент 1 из 'int' в 'const char *' 1> Преобразование из целочисленного типа в тип указателя требует reinterpret_cast, C приведение стиля или приведение стиля функции

for (j = 1; j <= n; j++)
{
   for (i = 0; i < n - 1; i++) 
   {
      temp = num[i];
      num[i] = num[i + 1];
      num[i + 1] = temp;
      print(num, n);
      fputs(num[i],fp);
    }
}
0
Heather Ford 5 Янв 2018 в 08:06

2 ответа

Лучший ответ

Да, вы должны пройти char*, вы проезжаете int.

fputs(std::to_string(num[i]).c_str(),fp);

Это решило бы проблему. Вы можете проверить std::string::c_str.

0
user2736738 5 Янв 2018 в 05:10

В вашем вызове fputs num[i] является целым числом. Вам нужно передать его в строку и предоставить интерпретатор этой строки для fputs. Или, если это C ++, можно просто использовать оператор <<.

0
mc0e 5 Янв 2018 в 05:17