Я работаю над проектом, в котором мне нужно передать файлы через сокет TCP, в то же время я должен зашифровать текст файла с помощью Caesar Cypher, но у меня возникает ошибка, как вы можете видеть на изображении выше , ошибка - "присвоение выражению с типом массива", но у меня есть несколько предупреждений, которые, как мне кажется, связаны с моей ошибкой. Вы можете помочь мне решить эту проблему?
У меня int main завершен и работает, потому что я могу отправить файл без проблем, но я не мог поместить сюда весь код, потому что я давал ошибку при создании вопроса, поэтому int main как изображение
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <arpa/inet.h>
#define BUF_SIZE 1024
void send_file(FILE *fp, int sockfd){
int n;
char data[BUF_SIZE] = {0};
while(fgets(data, BUF_SIZE, fp) != NULL) {
if (send(sockfd, data, sizeof(data), 0) == -1) {
perror("Error in sending file.");
exit(1);
}
bzero(data, BUF_SIZE);
}
}
void CaeserCypher(FILE *fp2, int key){
int i =0;
int cypherValue;
char cypher[BUF_SIZE]={0};
while(fgets(cypher, BUF_SIZE, fp2) != NULL){
cypherValue =((int)cypher[i]- 97 + key)%26 + 97;
cypher = cypherValue;
fprintf("%c", cypher);
i++;
}
bzero(cypher, BUF_SIZE);
}
int main(){
char *ip = "127.0.0.1";
int port = 9000;
int e;
int sockfd;
struct sockaddr_in server_addr;
FILE *fp, *fp2;
char *filename = "exemplo.txt";
int key=1;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd < 0) {
perror("Error in socket");
exit(1);
}
printf("Server socket created successfully.\n");
server_addr.sin_family = AF_INET;
server_addr.sin_port = port;
server_addr.sin_addr.s_addr = inet_addr(ip);
e = connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr));
if(e == -1) {
perror("Error in socket");
exit(1);
}
printf("Connected to Server.\n");
fp2 = fopen(filename, "w");
if (fp == NULL) {
perror("Error in reading file.");
exit(1);
}
void CaeserCypher(fp2, key);
fclose(fp2);
fp = fopen(filename, "r");
send_file(fp, sockfd);
printf("File data sent successfully.\n");
printf("Closing the connection.\n");
close(sockfd);
return 0;
}
int main ошибка в коде `