『壹』 c語言問題。大家幫忙!
連接 返回值 連接後的字元串指針。例如
char str[32]="abc";
printf("%s", strcat(str,".ccc"));
打出結果 abc.ccc 與 str里的結果相同。
復制, 返回值, 復制後的字元串指針
printf("%s", strcpy(str,"xyz")) ;
打出結果 xyz, 與 str里的結果相同
比較 strcmp, 返回int 值, 為0 表明 相等,非零 為 不等。
測量長度,返回int 值,表示長度位元組數
字元轉換,不屬標准 字元串處理函數
指針變數本身 是無符號整型數,字長與機器有關,一般32位。它的值是指向的地址。
『貳』 c語言 關於字元數組和整型數組清零
C語言數組和整型數組清空方法,示例:
1、整數數組清零
函數:void bzero(void *s, int n)
頭文件: #include <string.h>
功能說明:將字元串s的前n個字元置為0,一般n取sizeof(s),將整塊空間清零;
舉例:char str[10]; bzero(str, sizeof(str)); 也可以將整個結構體清零;
2、數組清空
使用時間:94s
for( k = 0 ; k <10000 ; k++ )
for( i = 0 ; i<MAX; i++ )
for( j = 0;j < MAX; j++ )
a[i][j] = 0;
(2)c語言bzero函數擴展閱讀
C語言結構體初始化
1、定義:
struct InitMember
{
int first;
double second;
char* third;
float four;
};
2、定義時賦值:
struct InitMember test = {-10,3.141590,"method one",0.25};
『叄』 求一個數據發送與接收的C語言代碼。在線等。望大神賜教。
#include<netinet/in.h>//forsockaddr_in
#include<sys/types.h>//forsocket
#include<sys/socket.h>//forsocket
#include<stdio.h>//forprintf
#include<stdlib.h>//forexit
#include<string.h>//forbzero
#include<iostream.h>//forC++
#defineSERVER_PORT51844
#defineBUFFER_SIZE1024
#defineFILE_NAME_MAX_SIZE512
intmain(intargc,char**argv)
{
if(argc!=2)
{
cout<<"Usage:./"<<argv[0]<<"ServerIPAddress ";
exit(0);
}
sockaddr_inclient_addr;//設置一個socket地址結構client_addr,代表客戶機internet地址埠
bzero(&client_addr,sizeof(client_addr));//把一段內存區的內容全部設置為0
client_addr.sin_family=AF_INET;//internet協議族
client_addr.sin_addr.s_addr=htons(INADDR_ANY);//INADDR_ANY表示自動獲取本機地址
client_addr.sin_port=htons(0);//0表示讓系統自動分配一個空閑埠
intclient_socket=socket(AF_INET,SOCK_STREAM,0);//用client_socket代表客戶機socket
if(client_socket<0)
{
cerr<<"CreateSocketFailed! ";
exit(1);
}
if(bind(client_socket,(structsockaddr*)&client_addr,sizeof(client_addr)))//把客戶機的socket和客戶機的socket地址結構聯系起來
{
cerr<<"ClientBindPortFailed! ";
exit(2);
}
structsockaddr_inserver_addr;//設置一個socket地址結構server_addr,代表伺服器的internet地址埠
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
if(inet_aton("127.0.0.1",&server_addr.sin_addr)==0)//伺服器的IP地址來自程序的參數
{
cerr<<"ServerIPAddressError! ";
exit(3);
}
server_addr.sin_port=htons(SERVER_PORT);
socklen_tserver_addr_length=sizeof(server_addr);
if(connect(client_socket,(structsockaddr*)&server_addr,server_addr_length)<0)//向伺服器發起連接,連接成功後client_socket代表了客戶機和伺服器的一個socket連接
{
cerr<<"CanNotConnectTo"<<argv[1]<<endl;
exit(4);
}
charfile_name[FILE_NAME_MAX_SIZE];
bzero(file_name,FILE_NAME_MAX_SIZE);
cout<<"PleaseInputFileNameOnServer: ";
cin>>file_name;
charbuffer[BUFFER_SIZE];
bzero(buffer,BUFFER_SIZE);
strncpy(buffer,file_name,strlen(file_name)>BUFFER_SIZE?BUFFER_SIZE:strlen(file_name));
send(client_socket,buffer,BUFFER_SIZE,0);//向伺服器發送buffer中的數據需要接受的文件名
FILE*fp=fopen(file_name,"wb");
if(fp==NULL)
{
cerr<<"File: "<<file_name<<"CanNotOpenToWrite ";
exit(5);
}
bzero(buffer,BUFFER_SIZE);//從伺服器接收數據到buffer中
intlength;
while(length=recv(client_socket,buffer,BUFFER_SIZE,0))
{
if(length<0)
{
cerr<<"RecieveDataFromServer"<<argv[1]<<"Failed! ";
break;
}
intwrite_length=fwrite(buffer,sizeof(char),length,fp);
if(write_length<length)
{
cerr<<"File: "<<file_name<<"WriteFailed ";
break;
}
bzero(buffer,BUFFER_SIZE);
}
cout<<"RecieveFile: "<<file_name<<"FromServer["<<argv[1]<<"]Finished ";
fclose(fp);//關閉文件
close(client_socket);//關閉socket
return0;
}
『肆』 求C語言替換字元串中某個字元的函數
#include "stdio.h"
#include "string.h"
void swap(char s[100],char a,char b)/*a為原來要替換的字元,b是替換後的字元*/
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]==a)
{
s[i]=b;
}
}
}
main()
{
char s[100];
char a,b;
int i;
printf("請輸入一個字元串:\n");
gets(s);
printf("\n請輸入要替換的字元和要替換後的字元,用逗號隔開:");
scanf("%c,%c",&a,&b);
swap(s,a,b);
puts(s);
}
『伍』 C語言 如何將一個賦值過的數組置空
C語言 將一個賦值過的數組置空步驟如下:
1、打開Visual C++ 6.0,新建一個C++ source file源文件。