广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2278 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
scott5029
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] 网路应用的问题
这是我们期末的一个实作 我把之前我发的重新修改了一遍

是想用server端输入统一发票号让client端来连线对奖

可是我写到后面卡住了

因为我们要在linux环境执行 所以我有用nc localhost 的方式查有没有连线

可是在client端输入要对奖的号码之后 就卡住了

大概是在241行 "while (j != 8)"那里就不知道该怎么解决了

(因为这个网站不支援中文,所以有要看原程式的人请站内或水球)

请问有人可以帮忙一下吗??

while (j != 8)这里是把client端的号码接收进来检查是否为数字并对奖

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include <stdio.h>
#include <string.h>
#define PORT 1234
#define MAXSOCKFD 10
/*----------------------------------------------------------------------------*/
/* 画面上的文字显示 */
char text={"特奖","头奖","贰奖","参奖","肆奖","伍奖","陆奖","增开"};
char text3[]="请先输入开奖号码(0~9),输入完请按下 Enter";
char text4[]="您输入的开奖号码中有不是数字的部分,请重新输入";
char text5a[]="开/对奖号码需要有 ";
char text5b[]=" 码,您输入的码数只有 ";
char text5c[]=" 码,请重新输入";
char text6[]="请按任意键继续 . . .";
char text7[]="请先输入对奖号码(0~9),输入完请按下 Enter";
char text8[]="对奖";
char text9[]="恭喜你中";
/*----------------------------------------------------------------------------*/
/* 负责储存开对奖号码的字串阵列 */
char Special_award={0};
char First_prize={0};
char Chk_number={0};
int level={0},newsockfd;
char input={0};
char output={0};
char buffer1;
/*----------------------------------------------------------------------------*/
/* 列印画面-开/对奖号码 */
print_menu()
{
int i;
printf("%s : %-10s\t",text,Special_award);
for (i=0; i<3 ; i++)
{
printf("%s %d : %-10s\t",text,i+1,First_prize);
if ( i==1 ) printf("\n");
}
printf("\n\n");
printf("%s : %-10s\t",text8,Chk_number);
chk_print();
printf("\n\n");
}
/*---------------------------------------- ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容




献花 x0 回到顶端 [楼 主] From:台湾亚太线上网络 | Posted:2007-12-30 01:28 |
totsi
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x53
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

复制程式
while (j != 8)
{
  strcpy(input[i],abc);
  j=check_in(8);
}
是这边的问题吗?
在下在这边看到的abc宣告成char[9]

但是你这边是copy给input[ i ]一个char array?
这用法compile有过了吗?

如果是每copy一个字元到abc后又在copy给同个index的array..
那最后丢给while (j !=8 )里的check_in的input是input[ i ]还是input?

依照前面的check_in宣告应该是丢input去做判断才对
那这样的话应该不会return 8吧?
所以你应该就会掉入无穷回圈的陷阱了 表情
因为他不会再回去更新下一笔abc

由于缩排不是很清楚..所以在下只能作以上的猜测..
因为不知道你的while ( j !=8)是在何时进行(for里面还是for的外面?)

如果有打错的话,麻烦请告知..谢谢 表情


恩...
献花 x0 回到顶端 [1 楼] From:台湾中华电信HINET | Posted:2008-01-02 11:01 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.076584 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言