显然,当我尝试编译客户端时,我遇到了这个错误。客户端应逐行读取文本文件并将变量发送到服务器端。代码如下:
#define FIFONAME "my fifo"
int main (int argc, char *argv[]){
int fd;
char buffer[1024];
char const* const filename = argv[1] ;
FILE* file = fopen(filename,"r");
int i,j;
char array[128][128];
char line [128];
/*Open the FIFO for writing. It was created by the server.
*/
if ((fd = open (FIFONAME, O_WRONLY)) < 0) {
perror ("client : open");
exit (1); }
for(i=0; i=128;i++)
for(j=0; j=128;j++)
arra[j]= '\0';
for (i=0; i<128; i++)
line = '\0';
if (file !=NULL)
{
i=0;
while (fgets(line,sizeof line, file) != NULL)
strcpy(arra, line);
printf ("%s",&arra);
i++;
}
while ((file = read(0, buffer, sizeof(buffer))) >0) {
write(fd, buffer, file);
}
fclose(file);
//close (fd);
return (0);
}
无论如何,这个错误可以解决吗?
答案 0 :(得分:0)
下面
dispatchTouchEvent()
char line [128];
被定义为128 line
的数组。
下面
char
代码尝试128次,将字符文字“\ 0”分配给整个数组。这根本不符合逻辑。
可能想要的是将for (i=0; i<128; i++)
line = '\0';
的所有128个元素设置为line
。所以这一步一步一步:
'\0'