❶ c语言如何传递字符串
c语言函数中传递字符串,可以分为两种情况,一种是将字符串作为参数,一种是将字符串作为返回值 ,当使用字符串作为返回值时,切记不要传递局部字符数组。下面是一个示例代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidf(char*str){//字符串作参数
printf(str);
}
char*r(){//字符串作返回值
//使用动态分配内存,不要使用局部变量比如
//charbuf[80];因为局部变量在函数结束时,栈区变量已被回收
char*str=(char*)malloc(256*sizeof(char));
if(str==0){printf("can'tallocmem ");return0;}
elsememset(str,0x00,sizeof(char)*256);
returnstr;//
}
intmain()
{
char*pstr=r();
if(pstr!=0)strcpy(pstr,"helloworld ");
f(pstr);
free(pstr);
return0;
}
❷ c语言中如何输入输出字符串
在C语言中,输入输出字符串有以下两种方式:
1 用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也
其支持范围内。
格式化字符为%s。
定义
char str[100];
输入
scanf("%s",str);
输出
printf("%s",str);
2 C语言还支持专门的字符串输入输出函数:gets/puts。
gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。
puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。
定义
char str[100];
输入
gets(str);
输出
puts(str);
(2)c语言如何通过网络发送字符串扩展阅读:
起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。
这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。
因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity[7],有些人简称为C95标准。
参考资料:网络-c语言
❸ C语言网络编程中,为什么发送字符串都加\r\n,接受到这样的字符串又该怎么处理困惑中
\r = 回车键
\n是换行符号
注意:Unix(Linux)系统只需要\n就可将光标移到
下一行行首;但在Windows系统中,\n只换行,不
移动光标,所以Windows系统中需要把\n和\r结合使用:
❹ C语言问题,字符串和消息发送
L表示宽字符,用两个字节表示一个字符,和char*不兼容,所以只要你用char path[]怎么表示都是不合适的,应该用wchar_t path [] = L"./img/bk.jpg";
还是系统的学习一下消息吧!粘贴不是这么发的,粘贴属于命令类型,不是你这种消息。但是要教会你发命令由一堆的事情。正确的学法时买本《VC技术内幕》学一年左右(我可能学了超过1年还只是入门)
❺ C语言如何在两个函数之间传送字符串
用指针,例如:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void abc(char *str){
strcpy(str,"string from abc\0");
};
void def(char *str){
printf("print in def: %s\n",str);
};
main()
{
char str[30];
abc(&str[0]);
def(&str[0]);
exit(0);
}
// abc()中给值,def()印出。
❻ c++如何通过无线网络传输字符串
以字符串数组形式传递,指针方式 或 数组方式 都能实现参数传递。如:#include <stdio.h>#include <string.h>void fun1( char *pstr ){printf("%s ",pstr );}void fun2( char arr[] ){printf("%s ",arr );}int main(){char str[10];strcpy( str , "hello" );fun1( str );fun2(str);return 0;}
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
❼ Linux环境下C语言程序设计,服务器通过socket连接后,向客户端发送字符串“连接上了”。在服务器上……
《深入Linux内核架构》第593页有Demo程序,改一下就能用了,你可以在网上下到电子版的,虽然这本书是讲内核的,但用户空间的东西也讲到了。
❽ 用单片机串口向电脑串口调试助手发送一个字符串,用C语言编程
uchar idata SystemBuf[10]; //用于接收
uchar Rx=0; //接收数据条数
uchar code AT[]="YES,IT IS";
void UART_init (void)
{
TMOD=0x20; //用定时器1
PCON=0x00; //波特率不加倍
SCON=0x50; //串行方式1
TH1=0xFD; //9600
TL1=0xFD; //
EA=1; //
ES=1; //
TR1=1;
}
void sendchar(uchar ch) //串口送一个字节
{
SBUF=ch;
while(TI==0);
TI=0;
}
void sendstring(uchar *p) //送字符串
{
while(*p)
{
sendchar(*p);
p++;
}
}
///////
void receive(void) interrupt 4 using 1 //中断
{
if(RI)
{
if(Rx<10) //这儿最多收10个字节
{
SystemBuf[Rx]=SBUF;
Rx++;
}
RI=0;
}
}
///
void main()
{
uchar i;
UART_init();
while(1)
{
if(SystemBuf=='S')
{
sendstring(AT);
for(i=0;i<10;i++) //接收清0
{
SystemBuf[i]=0;
}
Rx=0;
}
}
}
//////////如有小错误,自己调下,手打的,大小写可能不正常,这是标准程序,直接用,
❾ 我想用c语言这一个程序,向串口发送字符,求大侠指导,最好贴出源代码,谢谢。
HANDLE com;
com=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,NULL);//打开串口
if(com==INVALID_HANDLE_VALUE){
printf("串口打开失败,可能就没串口,要么就是有个货占用了该串口,气死爹了");
return ;
}
DCB d;
memset(d,0,sizeof(d));
d.RateBuand=9600;
d.StopBits=0;
d.ByteSize=8;
SetCommState(com,d); //设置串口参数,停止位1位,字节长度8位,波特率9600
char *ch="hello,world";
DWORD count;
WriteFile(com,ch,strlen(ch)+1,&count,NULL); //发送字符串。。
CloseHandle(com); //关闭串口
return;
CreateFile,WriteFile是API函数,可以读写任何被最终封装为文件的设备,包括一些USB设备,还有硬盘上的文件,读写底层实现也是这个API。。
无聊,纯直接手打的,很常规的操作。。。
❿ C语言 如何将一个字符串的内容传递给另一个字符串详见内
#include<stdio.h>
#include<string.h>
structabc
{
charaaa[10];
}
intmain()
{
structabcmmm;
chartemp[10]="0903";
strcpy(mmm.aaa,temp);//C语言标准库函数,将第二个参数的内容复制到第一个参数
return0;
}