要读取数据并存储数据,首先需要创建一个socket来建立连接,并设置socket的选项。然后使用read()函数来读取数据,最后将读取的数据存储到一个缓冲区中。
以下是一个简单的示例代码,演示了如何在C语言中读取数据并存储数据:
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main() {
int sockfd;
char buffer[1024];
struct sockaddr_in server_addr;
// 创建socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror("Error creating socket");
return 1;
}
// 设置服务器地址和端口
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8080);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
// 建立连接
if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
perror("Error connecting to server");
return 1;
}
// 读取数据并存储
int bytes_read = read(sockfd, buffer, sizeof(buffer));
if (bytes_read < 0) {
perror("Error reading data");
return 1;
}
// 打印读取的数据
printf("Data read from server: %s\n", buffer);
// 关闭socket连接
close(sockfd);
return 0;
}
在这个示例中,首先创建了一个socket并连接到指定的服务器地址和端口。然后使用read()函数读取数据,并将读取的数据存储到buffer中。最后打印出从服务器读取的数据,并关闭socket连接。