❶ 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;
}