如何用C语言编写一个简单的聊天室程序
客户端:/*客户端编程思路1.创建套接字socket2.发送连接请求3.请求连接后,进行通信操作4.释放套接字资源*/#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #pragma comment(lib,"ws2_32.lib")int main(){ //初始化套接字库 WSADATA data; WORD v = MAKEWORD(2, 0); WSAStartup(v, &data); char str[1024] = { 0 };//接受 char arr[1024] = { 0 }; char put[1024] = { 0 };//输出 //1.创建套接字库 SOCKET s = socket(AF_INET, SOCK_STREAM, 0); //2.绑定地址 //2.1 地址和端口处理 sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(75); addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); printf("客户端启动:\n"); //客户端:connect connect(s, (sockaddr *)&addr, sizeof(addr)); //send recv while (1) { ::recv(s, str, sizeof(str), 0); if (str != nullptr) { printf("服务器说:%s\n", str); //fflush(stdin); //getchar(); } printf("请输入聊天信息:"); scanf("%s", arr); strcpy(put, arr); ::send(s, put, sizeof(put), 0); fflush(stdin); //break; //getchar(); } //关闭 closesocket(s); WSACleanup(); if (getchar()) { return 0; } else { Sleep(100); } return 0;}服务器端:/*服务器编程思路:初始化套接字库1.创建套接字socket---2个地址处理以及端口处理2.套接字绑定本地的地址和端口3.把套接字设置为监听状态---等待接受客户端消息4.接受消息,返回一个用连接的新的套接字5.新套接字用通信6.关闭套接字*/#define _CRT_SECURE_NO_WARNINGS#include //包含头文件#include #include #include //加载库#pragma comment(lib,"ws2_32.lib")//显示加载套接字库int main(){ //初始化套接字库 ---WSAStartup; WSADATA data; //结构体对象 WORD v = MAKEWORD(2, 0); ::WSAStartup(v, &data); //1.创建套接字socket-- - 2个 SOCKET s, s2; //家族:ip地址IPv4 IPv6 //协议类型 //用户不确定什么方式 传0 s = ::socket(AF_INET, SOCK_STREAM, 0); //地址处理以及端口处理 sockaddr_in addr, addr2; int size = sizeof(addr2); addr.sin_family = AF_INET; addr.sin_port = htons(75); //htons 转换为u_short //设置主机地址 addr.sin_addr.S_un.S_addr = INADDR_ANY; //INADDR_ANY 任何ip都可以接入 //2.套接字绑定本地的地址和端口 //bind(SOCKET s,const sockaddr* addr,int namelen) ::bind(s, (sockaddr *)&addr, sizeof(addr)); //3.监听 ::listen(s, 5); printf("服务器端已启动:\n"); char arr[1023] = { 0 }; char str[1024] = { 0 }; char put[1024] = { 0 }; //connect(s2, (sockaddr *)&addr, sizeof(addr)); while (true) { //4.接受消息,返回一个用连接的新的套接字 //accept(SOCKET s,sockaddr* addr,int *namelen) s2 = ::accept(s, (sockaddr *)&addr2, &size); printf("%s已经连上.\n", inet_ntoa(addr2.sin_addr)); if (s2 != NULL) { // 5.新套接字用通信 //inet_ntoa讲地址转换为字符串 //send(SOCKET s,char *buffer,size_t size,int flags) while (1) { printf("请输入聊天信息: "); //I love you ----字符串处理 scanf("%s", arr); strcpy(str, arr); ::send(s2, str, sizeof(str), 0); fflush(stdin); recv(s2, put, sizeof(put), 0); printf("客户端说:%s\n", put); fflush(stdin); //break; } getchar(); } // 6.关闭套接字 closesocket(s); closesocket(s2); WSACleanup(); if (getchar()) { return 0; } else { ::Sleep(100); } } system("pause"); return 0;}可以实现简单的局域网聊天.如果想换成公网,需要做地址映射.这是C语言中比较重要的TCP/IP 通信编程
C语言编写聊天程序
听了楼上的我都不敢说Windows程序设计中的SDK用的也是c语言了 传的是《C语言高级编程及实例剖析》中的第六章的源码,用的是SDK编程,里面拉了控件和用了多线程 楼主如果需要界面比较复杂的聊天室程序,用MFC当然方便点,但用SDK也没有太大的问题(原理是一样的,学哪一种,另一种就会了)。
后者的教程貌似很难找。
可以看看MFC的,比较好的是 《Vc++ 打造局域网聊天室》(视频) 两种资料在网上都找得到... 补充:当然,如果需要传文件,图片那些,就需要研究研究网络协议了,也只是添加些功能而已...
求一个用C语言写的网络聊天程序,本人菜鸟!
COBOL(COmmon Business Oriented Language)——是数据处理领域最为广泛的程序设计语言。
COBOL历史 COBOL(COmmon Business Oriented Language)是第一个广泛使用的高级编程语言。
在企业管理中,数值计算并不复杂,但数据处理信息量却很大。
为专门解决经企管理问题,于1959年,由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。
经不断修改、丰富完善和标准化,已发展为多种版本。
COBOL重视数据项合输入/输出记录的处理,对具有大量数据的文件提供了简单的处理方式。
从名字可以看出,它主要用于解决商业和企业管理等领域的大量数据处理问题,又称为企业管理语言、数据处理语言等。
Cobol语言的研制始于50年代末,当时计算机的生产已进入第二代,计算机应用领域开始从数值计算扩大到数据处理。
商业和企业事务管理中需要进行处理的数据量急剧增加,迫切需要有适用于这个领域的程序设计语言,以提高编制程序的质量和速度。
Cobol语言就是在这种社会背景下应运而生的。
也就是说,Cobol已经年过半百了。
Cobol正式发布于1960年4月,称为Cobol-60。
现在最新的版本应该是Cobol-2002了,而且还在不断改进中,未来的Cobol将支持XML等Web时代的新技术。
换言之,Cobol还将继续......但与C语言或FORTRAN语言相比,COBOL的数值运算、逻辑运算能力比较弱。
1959年,美国国防部召开了一个有政府机关、企业、计算机厂商参加的会议,大家认为有必要设计一种数据处理专用的语言,这就是著名的数据系统语言会议CODASYL(Congference on Data Systems Languages)。
1959年12月出现了第一个COBOL语言文本,并于1960年4月正式发表,因此也被称为COBOL-60。
1968年美国国家标准委员会ANSI又通过了新的标准ANSI COBOL X.3.23-1968。
1972年国际标准化组织ISO将其作为ISO COBOL-72。
1974年ANSI对COBOL-68作出了修订扩充,形成了ANSI COBOL X3.23-1974,随后1978年ISO采用其形成ISO COBOL-78Monday, 2004-09-06ANG="ZH-CN">又提出了ANSI X3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。
COBOL标准还在不断地改进和完善,最新的标准COBOL 2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考NCITS和COBOLStandards。
COBOL特性 COBOL语言使用了300多个英语保留字,大量采用普通英语词汇和句型,COBOL程序通俗易懂,素有"英语语言"之称。
COBOL语言语法规则严格。
用COBOL语言编写的任一源程序,都要依次按标识部、环境部、数据部和过程部四部分书写,COBOL程序结构的"部"内包含"节","节"内包含"段",段内包含语句,语句由字或字符串组成,整个源程序象一棵由根到干,由干到枝,由枝到叶的树,习惯上称之为树型结构。
目前COBOL语言主要应用于情报检索、商业数据处理等管理领域。
Java擅长使用者接口的设计,而Cobol则是在商业逻辑(business logic)上十分强大。
Cobol被用来开发存货、银行、支付、流通和股票交易系统,可说大部份重要应用都是用Cobol开发的,而且这些都是企业里最最重要的系统 Cobol一直是符合业界标准,像是近年分别取得ANSI以及ISO的标准认证,随着环境的变迁,Cobol也不断增加许多新的功能,其中最大的特色在于我们转变为对象导向(object-oriented)的程序语言,这使得IBM一直持续和Cobol的合作。
早在Java出现以前,Acucorp在公司创立的第一天,就已经可以达到写一次,任何地方都能执行;目前我们可以在600种平台上执行,包括Windows、Linux、J2EE、Novell等。
Cobol现在就是以协助企业开发组件化的应用为目的。
COBOL主要应用在哪些领域 作为一种元老级的高级编程语言,COBOL拥有庞大的用户群和代码,据称用COBOL书写的程序超过了1000亿行( )。
另有调查发现世界上目前使用的商业应用软件之中的百分之七十是用COBOL代码编写的,并且以每年大约五十亿行代码的速度在增长。
看来,历史赋予了COBOL语言特殊的使命。
另外,只要大型机存在,其上就还要运行COBOL程序,而且很多资深的程序员已经习惯于COBOL,加入大型机环境的新程序员(例如我) 也不得不开始使用COBOL。
其实COBOL也有自身的一些优点,比如它对数据的显示格式有较强的控制。
另外,我想最重要的是,即使对于具有相当经验的IT公司来说,重新编写可靠的应用软件也是不实际或是从商业角度上并不可行的,而且还要花上很长的时间。
如上介绍,Cobol主要是应用在商业数据处理领域。
其中占最大百分比的是银行、金融和会计行业,其次是Computer VAR/Retail/Consulting行业,这是美国的调查资料。
Cobol在中国的应用应该也差不多。
(或更少) 常见的COBOL编译器有哪些? 由于COBOL最初是用于主机系统,所以它和主机系统联系得非常紧密。
主流的主机系统,例如IBM的大型机、中型机等都配备了相应的COBOL编译程序,例如VS COBOL II等。
微机的广泛使用...
【c语言程序软件】C语言怎么用啊?!能用它来编应用软件吗?我最...
初学者大多会有你这种疑惑,而且说实话,确实很难在初学的时候让你对这些问题有全面的了解,只能简单地让你这样来理解: 计算机最底层是硬件(电路),然后中间是一些固件(非常底层的程序),再上面是操作系统(本质上是一种很底层的程序),再上面驱动、服务和系统软件(底层程序),再上面是应用程序(高层程序,比如记事本程序等),当然,现在还发展出了基于虚拟机的程序(比如java程序),对这些程序来说,前面提到的应用程序就是中层程序(虚拟机)。
那么在这个层次模型里面,C语言是可以应用在从固件一直到应用程序的所有编程阶段的。
C语言作为一种语言,它本身只是一种表达方法,在不同的编程阶段,都有其具体的应用C语言的“环境和方法”。
比如你现在就处在编写DOS应用程序的阶段,所以你看到的C语言就是在一个DOS窗口里写出一些同样是在DOS窗口里运行的程序出来,而且你看不到用这种方法如何才能写出一个极品飞车游戏。
但是当你按照老师的要求扎扎实实学好语言本身的规则、语法之后,你就有了去了解其他“环境和方法”的资本了,你会发现这种过渡是自然、容易的。
比如要编写一个Windows窗口应用的话,你只是需要一个合适的编译开发环境(比如VC)和调用几个与过去不同的函数而已(如果你语言掌握得非常扎实,则“合适的编译器”或许也是不需要的,不过这已经不是通常的编程方法了,现在还没有办法跟你解释怎样通过TurboC来编写一个Windows窗口程序,但那确实是可能的)。
所以你问“怎么学”,我的建议就是脚踏实地,一步一步,先把眼前的掌握好。
如果你想一步登天,那么结果就是,要么最终也只能写点给外行人看的程序,要么花更多时间回过头来不基础。
C语言都有哪些用啊?能编写软件吗?
1. 做为一门大学课程,获得学分可以毕业。
2. 其它语言,如c++基础。
3. 编程常用语言,开发软件基础。
可以编写软件,不过现如今JAVA与C++等地位已经逐步取代C语言了。
1. 很多专业的基础课程都有c语言,这就意味着学的好,可以取得好成绩获得更高的绩点。
大学里面,绩点不仅是奖学金考量的基本要素,也是保研的重要参考要素。
2. 像C++这样子的语言,比单纯的C语言多了类和继承,基本的知识是一样的。
也就是说,C语言写的好,这类语言学起来就很容易。
3. 软件开发,代码是很重要的一部分。
一些很基础的算法,都是可以说核心部分了。
编写C语言的软件是什么(名称)?
主要的C语言编译器及特点分别如下: (1)TC 2.0 DOS平台软件。
最经典的C语言编译器,系统体积小,简单易学,容易上手,而且很多前人或书籍的程序均基于该编译器,是学习C语言的首选。
不过它不支持鼠标,但读者如果掌握几个快捷键,操作时对鼠标可能就不怎么需要了,如: F2 存盘 F3 打开程序 Alt+F3在最近打开的文件之间切换 Alt+F5观察运行结果 F9 编译制作EXE Ctrl+F9编译并运行 Ctrl+Y 删除当前行 Ctrl+KB定义块首 Ctrl+KK 定义块尾 Ctrl+KC复制块 Ctrl+KY删除块 Ctrl+KV 移动块 (2)Tc3.0 DOS平台软件。
目前比较不错的C/C++语言编译器,支持鼠标,语法着色,多文档,错误跟踪也很好,操作与TC2.0有很多类似,TC2.0会用那么TC3.0也很快会用,缺点是以前很多代码是用TC2.0设计的,而由于TC3.0语法要求的严格性,如要求函数必须定义类型,所以向下存在一定的兼容性问题,所以对于初学者选择起来很矛盾,建议先学会使用TC2.0,而把TC3.0作为能力的补充和平时工具之用。
目前有的教材已经选用该编译器,不过需要一个较长的调整期,因为很多源代码需要过渡过来才行,从性能上比TC2.0有所提高,但对于初学者没有质的变化,选择时需要注意。
(3)VC++ 6.0 Windows平台。
目前主流的C/C++语言编译器,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面。
对于TC等的作品也具有向下兼容的特点,建议读者选用作为C语言过渡到Windows平台编程的首选工具。
当然,作为学习,该系统显得有点庞大,不过通过入门的学习,调试老的Tc程序也可以。
还有其他的编译器,例如Win tc、gcc、lcc、BC 3.1等等,事实上,编译器的选择不是最重要的,他们都可以完成基本的C语言编译,不过面向考试的时候,还是根据考试的要求,因为编译器的编译结果存在着一定的差别,特别在一些复杂语法的语句编译上。
从目前的形势看,对于从未学习过计算机程序设计的读者来说,学习C语言时,建议开始选择Tc2.0,虽然不能使用鼠标,但几个快捷键的熟练运用基本上可以解决操作的问题,当然有时间的时候了解使用TC3.0就更好了;对于学习过TC2.0的读者来说,平时完全可以在TC3.0或VC 6.0下调试程序,但考试的时候如果要求必须在TC2.0下,那最好上机练习时在TC2.0下。
当然,使用如记事本等文本编辑器编辑程序,然后用TC来调试也不失为一种好方法。
另外,DOS平台的Tc2.0或Tc3.0都存在某些机器运行时键盘响应迟缓或停顿的问题,Tc3.0可能这种现象要多一点,这主要是由DOS基本内存的不足造成的。
可以安装水平考试课题组提供的DOS模拟器来解决问题,该模拟器重新划分更多的内存,效果不错。
c语言编程用哪个软件好
1.C语言编程软件有哪些。
Mcrosoft Visual C++ 、Microsoft Visual Studio、 DEV C++、Code::Blocks、Borland C++、WaTCom C++、Borland C++ Builder、GNU DJGPP C++、Lccwin32 C Compiler3.1、High C、Turb C、gcc、C-Free和Win-TC、My Tc等等,由于C语言比较成熟,所以编程环境很多。
2.C语言入门,不推荐使用VC,因为VC不但庞大,而且应用开发比较高级。
入门编程荐使用Dev-C 和 WIN-TC。
1)WIN-TC,该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。
而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。
并提供一组相关辅助工具令你在编程过程中更加游刃有余。
2)Dev-C ,Dev-C 是一个Windows下的C和C 程序的集成开发环境。
它使用MingW32/GCC编译器,遵循C/C 标准。
开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习C或C的首选开发工具。