#include <string.h>
#include <stdio.h>
char zlap_wiersz[80];
char wiersz[80];
void func_zlap_wiersz(int znak){
if (znak == 13){
wiersz = zlap_wiersz; /* zrzucenie wyniku do innej zmiennej error: c:49.10 */
zlap_wiersz = 0; /* wyzerowanie zmiennej tak abym mógł jej znowu użyć error: c:50.15 */
}
if (znak != 13){
const const char *dodaj_znak = (char)znak; /* rzutowanie liczby na typ char error: c:54.34 */
strcat(zlap_wiersz, dodaj_znak); /* scalenie znaków */
}
}
main.c:49:10: error: assignment to expression with array type
wiersz = zlap_wiersz;
^
main.c:50:15: error: assignment to expression with array type
zlap_wiersz = 0;
^
main.c:54:34: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const const char *dodaj_znak = (char)znak;
Potrzebuję łapać pojedyncze znaki przychodzące z pliku i scalać je w kompletny cały wiersz, a następnie zapisać go do dynamicznej tablicy. W wejściu funkcji przychodzi mi liczba która odpowiada kodowi ASCII mojej pojedynczej litery słowa. Tą funkcję chcę wywołać w pętli w której przyjmuje po kolei wszystkie znaki z pliku, ale mam parę problemów i chciałbym prosić o pełne ich zrozumienie, a tutaj może kuleć moja znajomość wskaźników.
1. Jak zadeklarować zmienne "zlap_wiersz" , "wiersz" tak aby były przygotowane na przyjęcie zmiennej ilości znaków?
2. Jak poprawnie dokonać rzutowania czy jest ono tutaj konieczne czy zwykle przypisanie liczby do char spowoduje jej rzutowanie na ten typ?
3. Jak poprawić moje błędy i dlaczego w ten sposób?