【发布时间】:2014-02-02 00:30:22
【问题描述】:
我有一个从服务器读取文件并返回数据的函数:
int readMessageFromServer(int fileDescriptor) {
char buffer[MAXMSG];
int nOfBytes;
nOfBytes = read(fileDescriptor, buffer, MAXMSG);
if(nOfBytes < 0) {
perror("Could not read data from server\n");
exit(EXIT_FAILURE);
}
else
if(nOfBytes == 0)
return(-1);
else
printf("Server Message: %s\n", buffer);
return(0);
}
问题出在线路上
printf("Server Message: %s\n", buffer);
如果我将此行更改为
printf("Server Message: %s\n>", buffer);
在获得更多数据之前,它拒绝打印“>”符号。
这是一个已知的限制还是我做错了什么?
我可能应该补充一点,对该函数的调用如下所示:
while(readMessageFromServer(sock) > 0) {continue;};
【问题讨论】:
-
可能是 printf("Server Message: %s\n>", buffer) 引号内带有
>符号? -
如果这就是你的意思,那么 > 在引号内。
-
更正了问题