Я пытаюсь вывести все комбинации различных чисел в наборе. У меня запущена программа, и у меня есть выходной файл 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);
}
}
2 ответа
Да, вы должны пройти char*
, вы проезжаете int
.
fputs(std::to_string(num[i]).c_str(),fp);
Это решило бы проблему. Вы можете проверить std::string::c_str
.
В вашем вызове fputs
num[i]
является целым числом. Вам нужно передать его в строку и предоставить интерпретатор этой строки для fputs. Или, если это C ++, можно просто использовать оператор <<
.
Новые вопросы
c++
C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который должен быть) скомпилирован с помощью компилятора C ++. Используйте тег для конкретной версии для вопросов, связанных с конкретной версией стандарта [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] или [C ++ 23] и т. Д. .