『壹』 c語言如何截取字元串的一部分
用strncpy函數,函數簽名
char * strncpy(char *dest, const char *src, size_t n);
比如要是從src第2個字元開始截取3個字元,可以用
strncpy(dest, src + 2 - 1, 3);
『貳』 C語言如何將文件截斷一半
截斷一個數組的一部分相當於取得一個數組的某一個子集數組。
如果是字元數組,可以使用strncpy函數,根據需要截取需要部分。
strncpy 是 C語言的庫函數之一,來自 C語言標准庫,定義於 string.h,char *strncpy(char *dest, char *src, int n),把src所指字元串的前n個位元組復制到dest所指的數組中,並返回指向dest的指針。
如果是普通數組,使用循環語句,將需要的部分一一賦值即可。
例如:
#include<stdio.h>
inta[10]={0,1,2,3,4,5,6,7,8,9};//源數組a
intb[10],i;//子集數組b
intmain(){
for(i=5;i<10;i++)b[i-5]=a[i];//獲得a數組中第6個到第10個數,儲存到b當中
return0;
}
『叄』 C語言字元串
代碼功能:
1、輸入任意行數的內容(如果你想限制最多10行,自己加個變數計數好了)。
2、不想輸入時,新行直接回車,會刷新顯示統計個數。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedefstructstrs
{
charstr[100];
structstrs*next;
}STRS;
voidcontWord(char*str);//對字元串大小寫字母計數
voidintput(STRS**strsHead,STRS**strsTail);//輸入字元串,並顯示統計結果(每輸入完一行回車時,刷新數據)
voidprfStrs(STRS*strsHead,inttj);//列印字元串及統計結果
intdCon=0;//大寫字母計數
intnCon=0;//數字計數
intmain()
{
STRS*strsHead=(STRS*)malloc(sizeof(STRS));
strsHead->next=NULL;
STRS*strsTail=NULL;
intput(&strsHead,&strsTail);
return0;
}
voidprfStrs(STRS*strsHead,inttj)//tj=1輸出統計結果;tj=0不輸出統計結果
{
while(strsHead->next!=NULL)
{
printf("%s
",strsHead->next->str);
strsHead=strsHead->next;
}
if(tj==1)
{
printf("大寫字母個數:%d
",dCon);
printf("數字輸入個數:%d
",nCon);
}
}
voidcontWord(char*str)
{
intlen=strlen(str),i;
for(i=0;i<len;i++)
{
if(str[i]>='A'&&str[i]<='Z')
dCon++;
if(str[i]>='0'&&str[i]<='9')
nCon++;
}
}
voidintput(STRS**strsHead,STRS**strsTail)
{
STRS*strsNew;
charc;
while(1)
{
strsNew=(STRS*)malloc(sizeof(STRS));
memset(strsNew->str,0,100);
if(strsNew->str[0]==0)
{
c=0;
c=getchar();
if(c=='
')
{
system("cls");
prfStrs(*strsHead,1);
break;
}
else
{
strsNew->str[0]=c;
}
}
gets(&strsNew->str[1]);
strsNew->next=NULL;
if((*strsHead)->next==NULL)
(*strsHead)->next=strsNew;
else
(*strsTail)->next=strsNew;
*strsTail=strsNew;
contWord(strsNew->str);
}
}
『肆』 C語言編程怎麼將截斷一個數組的一部分
截斷一個數組的一部分相當於取得一個數組的某一個子集數組。
如果是字元數組,可以使用strncpy函數,根據需要截取需要部分。
strncpy 是 C語言的庫函數之一,來自 C語言標准庫,定義於 string.h,char *strncpy(char *dest, char *src, int n),把src所指字元串的前n個位元組復制到dest所指的數組中,並返回指向dest的指針。
如果是普通數組,使用循環語句,將需要的部分一一賦值即可。
例如:
#include<stdio.h>
inta[10]={0,1,2,3,4,5,6,7,8,9};//源數組a
intb[10],i;//子集數組b
intmain(){
for(i=5;i<10;i++)b[i-5]=a[i];//獲得a數組中第6個到第10個數,儲存到b當中
return0;
}