c语言 线程-求帮助!C语言有个输出线程无法执行

问题描述

求帮助!C语言有个输出线程无法执行
/*创建线程1:读入请求 */
DWORD ThreadID = 1;
//创建线程(对应于函数getInput()),用于接收电梯输入;
HANDLE hRead =CreateThread(NULL0(LPTHREAD_START_ROUTINE)getInputNULL0&ThreadID);

DWORD ThreadID2=2;//输出线程
HANDLE hRead2=CreateThread(NULL0(LPTHREAD_START_ROUTINE)printNULL0&ThreadID2);

//打印结果的函数
void print(void)
{
//time_count(5);
//printf(""hHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHha"");
if(IS_OUTPUT==1)
{
int ij;
char c;
if((STATE_OUTPUT_FILE=fopen(""d:state_output_file.txt""a+""))==NULL)//打开文件2,state_output_file.txt
{//要写入的时候才打开文件,否则会出错,stream!=NULL
printf(""nCannot open file strike any key exit!"");
getch();
exit(1);
}
system(""color 2f"");
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY);

//打印楼层信息gotoxy(2010);//控制光标位置,每次只改变要输出的内容  printf(""%d"" current_floor+up_count+down_count);//都需要加上默认的偏移楼层fputs(""电梯的当前楼层为: ""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中c=(current_floor+up_count+down_count)+48;fputc(cSTATE_OUTPUT_FILE);fputs(""n""STATE_OUTPUT_FILE);

//打印目标楼层
gotoxy(2012);
if(state!=IDLE&&state!=STOP)//电梯处于运行中,有目标楼层
{
printf(""%d ""dest_floor);
fputs(""电梯的目标楼层为: ""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中
fputc(dest_floor+48STATE_OUTPUT_FILE);
fputs(""n""STATE_OUTPUT_FILE);

}else{    printf(""无"");    fputs(""电梯的目标楼层为: 无n""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中}

//打印电梯的运行方向
gotoxy(2014);
if(direction==NONE)//处于闲置时
{
printf(""没有"");
fputs(""电梯的运行方向为: 无n""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中
}
else
if(state==RUN)//处于运行时
if(direction == UP)
{
printf(""向上"");
fputs(""电梯的运行方向为: 上n""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中

         }         else          {             printf(""向下"");             fputs(""电梯的运行方向为: 下n""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中         }    else    {        printf(""没有"");        fputs(""电梯的运行方向为: 无n""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中    }

//打印电梯的状态
gotoxy(2016);
if(state==RUN) //处于运行时

{
printf(""RUN "");
fputs(""电梯的运行状态为: RUNn""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中

}else if(state==IDLE){    printf(""IDLE"");    fputs(""电梯的运行状态为:IDLEn""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中}else {    printf(""STOP"");    fputs(""电梯的运行状态为: STOPn""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中}

//打印内部未响应楼层数
gotoxy(5410);
fputs(""电梯的内部未响应楼层为: ""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中
for(i=1j=0;i<10;i++)
{
if(inside[i]!=0)
{
printf(""%d ""i);
fputc(i+48STATE_OUTPUT_FILE);
j++;
}
}
if(j==0)
{
printf(""无"");
fputs(""无""STATE_OUTPUT_FILE);
for(i=1;i<9;i++)
printf("" "");
}
else
{
for(i=1;i<=9-j;i++)
printf("" "");
}
fputc('n'STATE_OUTPUT_FILE);

//overweight(j);

//打印外部未响应楼层数
//外部向上
fputs(""电梯的外部未响应楼层为: ""STATE_OUTPUT_FILE);//将电梯状态读入文件STATE_OUTPUT_FILE中
gotoxy(5412);
for(i=1j=0;i<10;i++)
{
if(outside_up[i]!=0)
{
printf(""%d ""i);
fputc(i+48STATE_OUTPUT_FILE);
j++;
}
}
if(j==0)
{
printf(""无"");
fputs(""无""STATE_OUTPUT_FILE);
for(i=1;i<9;i++)
printf("" "");
}
else
{
for(i=1;i<=9-j;i++)
printf("" "");
}
// 外部向下
gotoxy(5414);
for(i=1j=0;i<10;i++)
{
if(outside_down[i]!=0)
{
printf(""%d ""i);

        j++;    }}if(j==0){    printf(""无"");    for(i=1;i<9;i++)       printf(""  "");}else{    for(i=1;i<=9-j;i++)       printf(""  "");}fputc('n'STATE_OUTPUT_FILE);//??? // 系统时间 gotoxy(5416);printf(""            "");gotoxy(5416);total_finish=clock();//fputs(""系统已经运行的时间:  ""STATE_OUTPUT_FILE);printf(""%d""(total_finish-total_start)/1000);//fputc((total_finish-total_start)/1000+48STATE_OUTPUT_FILE);fputs(""nnn""STATE_OUTPUT_FILE);

//该层时间
gotoxy(5418);
printf("" "");
gotoxy(5418);
time2=clock();
printf(""%d""(time2-time1)/1000);
time1=clock();
//当前服务策略
gotoxy(2020) ;
if(change_running_strategy==1)
{
printf(""先来先服务"");
}
else if(change_running_strategy==2)
{
printf(""顺便服务"");
}
//坐标归位
gotoxy(022);
printf(""n"");
//fflush(STATE_OUTPUT_FILE); //确保不关闭文件情况下数据能写入
fclose(STATE_OUTPUT_FILE);
}
}

解决方案

求大神能够指导线程,我的QQ,896776703,谢谢了,,,电梯这线程不知错哪儿了

时间: 2024-12-31 02:04:33

c语言 线程-求帮助!C语言有个输出线程无法执行的相关文章

c语言-菜鸟求问C语言,if,else

问题描述 菜鸟求问C语言,if,else #include #include char *compare(char *,char *); int main() { char *a1="assss"; char *a2="q"; char *big; big=compare(a1,a2); printf("%s",big); return 0; } char *compare(char *a,char *b) { char *c; int ptr;

acm-c语言 ACM求绝对值为什么是错误答案,明明可以运行啊

问题描述 c语言 ACM求绝对值为什么是错误答案,明明可以运行啊 #include ""stdio.h""#include ""math.h"" int main(){ float x; for(;scanf(""%f""&x)!=EOF;) printf(""%.2fn""fabs(x));} 解决方案 题目要求是循环输入数据循环打印么?

数组-求关于C语言的五子棋程序例子

问题描述 求关于C语言的五子棋程序例子 实现一个五子棋游戏程序编制,棋盘是15X15的方格,棋子放交叉点 , 解决方案 可以 Google 到一些有用的资源的 C语言设计一个人机对战的五子棋程序 VC实现五子棋游戏的一个算法示例 解决方案二: 这里有几个现成的http://download.csdn.net/download/q511249662/3271854http://down.51cto.com/data/68237http://download.csdn.net/detail/enjo

c语言-C语言学习方法求大神指教

问题描述 C语言学习方法求大神指教 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教 解决方案 C语言不太适合初学,它涉及很多计算机本身的原理.之所以很多人学C语言,其实只是应付考试罢了.而应付考试,其实是有技巧的,你不用真的学会C语言,只要多做习题,熟悉出题套路就可以了. 甚至你真正去学会C语言,反倒影响你考试. 解决方案二: 看这本书: 中文名: C程序设计语言(第2版 新版) 原名: The Pro

输出-求用c语言编写这么一段程序

问题描述 求用c语言编写这么一段程序 1.用随机产生n个整数,赋给a数组 2.从小到大排序 3.计算最小数的阶乘 4.输出数组内容 解决方案 这个不难,就是先随机n个数放到数组再对数组排序,然后对数组第一个数求阶乘输出,最后输出整个排序过的数组,一步步来很简单 解决方案二: 参考代码段:https://github.com/707wk/Senior-middle-school/blob/master/Filling%20in%20the%20gaps.c 解决方案三: 你需要什么样的排序方式?最

c语言acm1003 求大神看看我的代码哪错了

问题描述 c语言acm1003 求大神看看我的代码哪错了 Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input

求大神看看,C语言二叉树非递归遍历问题 ,最后输出正确,然后在程序崩溃

问题描述 求大神看看,C语言二叉树非递归遍历问题 ,最后输出正确,然后在程序崩溃 #include #include #include typedef struct TNode { char date; struct TNode *lchild,*rchild; }TNode,*BiTree; typedef struct { BiTree top; BiTree *base; int stacksize; }Stack; int createBiTree(BiTree &S){ char ch

c语言-求用C语言编写将“hello”这样的字符串转化为十六进制的代码实现

问题描述 求用C语言编写将"hello"这样的字符串转化为十六进制的代码实现 求用C语言编写将"hello"这样的字符串转化为十六进制的代码实现,急急急!!! 解决方案 #include<stdio.h> void main() { char str[]="abhello"; char *p=str; while(*p) { printf("%x ",*p++); } } 解决方案二: #include "

c语言-解答C语言,求大哥们解答

问题描述 解答C语言,求大哥们解答 5.设有1g,2g,3g,5g,10g,20g的砝码若干枚(其总重量<=1000),输出用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况. 解决方案 无非就是排列组合的m选n算法,只是结果再加上一个求和,以及去掉重复的结果.http://blog.163.com/zhujiatc@126/blog/static/1834638201132775959253/ 解决方案二: 应该还有一个限制吧,就是从这些砝码中一共选择的砝码的个数,比如说50个,然