Итак, я хочу напечатать целочисленный массив в свой документ. Чтобы сделать это, я попробовал это:
Изменение моего целочисленного массива на массив символов:
char* intAtocharA(int* k,int n){
char *z = calloc(n, sizeof(char));
for (int i = 0; i < n; ++i)
{
z[i]=(char)k[i];
}
return z;
}
не дает мне ошибку, но не будет делать то, что я хочу.
Для получения дополнительной информации в моем int main я сделал следующее:
FILE* fout = fopen(argv[1],"w");
char* l =intAtocharA(arr,arrsize);
fprintf(fout,l);
Я не знаю, актуально ли это, но мой целочисленный массив полон 1 и 0
l
— это массив (небольших) целых чисел, а не строка с завершающим нулем, которой должна быть строка формата printf
.
Вам нужно использовать цикл и печатать все числа один за другим:
for (size_t i = 0; i < arraysize; ++i)
{
fprintf(fout, "%hhd ", l[i]);
}