1. c語言,使用函數實現字元串復制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <time.h>
/*把從src地址開始的字元串復制到以dest開始的字元串中*/
char* str (char* dest, char *src) {
char* r = dest;
while((*r++ = *src++)!='\0');
return dest;
}
int main () {
char *str1="abcde";
char *str2;
str2 = str (str2, str1); /*把str1復制到str2*/
puts (str2);
return 0;
}
2. 用C語言實現字元串操作
樓上的寫的好啊~ 不過要在unix或linux下~
寫個通用點的
#include<stdio.h>
int main(int argc,char* argv[])
{
FILE *fp1,*fp2;
int i=0;
char ch;
if (argc<3) return 0;
if((fp1=fopen(argv[1],"r"))==NULL)
return 0;
if((fp2=fopen(argv[2],"w"))==NULL)
return 0;
while ((ch=fgetc(fp1))!=EOF)
{
if (i!=0 && i%3==0)
fputc('0',fp2);
fputc(ch,fp2);
i++;
}
fclose(fp1);
fclose(fp2);
return 0;
}
3. 在C語言中如何實現用鍵盤輸入一個字元串,並列印出來
在C語言中實現用鍵盤輸入一個字元串,並列印出來的解決方法如下:
1、首先定義一個字元串數組,如你可以給字元串100個數組空間。如圖括弧內數字即為你定義的數組大小。
(3)用c語言實現字元串擴展閱讀:
字元數組的輸出:
(1)用putchar()或printf()的『%c』格式符對數組進行字元賦值。例如,對於數組a[10]:用putchar()賦值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()賦值:
for(i=0;i<10;i++)
printf("%c",a[i]);
輸出結果為:
c program[2]
(2)用printf()的'%s'格式對數組賦值。還是對於數組a[10];
printf("%s",a);
輸出結果為:
c program
參考資料來源:
網路-char
網路-字元數組
4. C語言怎麼用printf輸出字元串。
void main()
{
unsigned char *x = "ab,sdf,sad,23432,cc";
data = x;
printf("data = %c ", *data);
printf("data = %s ", data);
system("pause");
}
(4)用c語言實現字元串擴展閱讀:
printf輸出字元串的一些格式
1、原樣輸出字元串:printf("%s", str);
2、輸出指定長度的字元串, 超長時不截斷, 不足時右對齊:printf("%Ns", str);
註:N 為指定長度的10進制數值
3、輸出指定長度的字元串, 超長時不截斷, 不足時左對齊:printf("%-Ns", str);
註:N 為指定長度的10進制數值
4、輸出指定長度的字元串, 超長時截斷, 不足時右對齊:printf("%N.Ms", str);
註:N 為最終的字元串輸出長度
M 為從參數字元串中取出的子串長度
5、輸出指定長度的字元串, 超長時截斷, 不足時左對齊是:printf("%-N.Ms", str);
註:N 為最終的字元串輸出長度
M 為從參數字元串中取出的子串長度
參考資料來源:printf-網路
5. c語言編程字元串處理
#include<stdio.h>char str1[100],str2[100];char *mystrcat(char *s,char *ct) //字元串連接
{
while(*(s++));
s--;
while(*ct)
*(s++) = *(ct++);
return s;
}char *mystrcpy(char *s,char *ct)
{
while(*(s++)=*ct,*(ct++));
return s;
}int mystrcmp(char *s,char *ct)
{
while(*s && *ct)
{
if(*(s++) == *(ct++))
continue;
else
return *(s-1)-*(ct-1);
}
return 0;
}int mystrlen(char *s)
{
int length = 0;
while((length++,*s++));
return length-1;
}char *mystrsort(char *s)
{
int i,j,length = mystrlen(s);
char t;
for(i = 0;i < length;i++)
for(j = 0;j < length-i-1;j++)
{
if(s[j] > s[j+1])
{
t =s[j];
s[j] = s[j+1];
s[j+1] = t;
}
}
return s;
}int mystrfind(char *s,char ch)
{
int index = 0;
while(*s)
if(index++,*s == ch)
return index;
return -1;
}void menu()
{
int choose = 1;
char ch;
while(choose != 0)
{
printf("\n1.字元串連接\n2.拷貝\n3.比較\n4.求字元串長度\n5.對字元串內字元進行排序\n6.查找字元串中某個字元是否存在\n0.退出\n");
scanf("%d",&choose);
switch(choose)
{
case 1:printf("輸入2字元串:\n");
scanf("%s%s",str1,str2);
mystrcat(str1,str2);
printf("連接後的字元串:%s\n",str1);
break;
case 2:printf("輸入要拷貝的字元串:\n");
scanf("%s",str2);
mystrcpy(str1,str2);
printf("拷貝的字元串:%s\n",str1);
break;
case 3:printf("輸入要比較的2字元串:\n");
scanf("%s%s",str1,str2);
printf("%d\n",mystrcmp(str1,str2));
break;
case 4:
printf("輸入要求長度的字元串:\n");
scanf("%s",str1);
printf("長度為:%d\n",mystrlen(str1));
break;
case 5:
printf("輸入要求排序的字元串:\n");
scanf("%s",str1);
mystrsort(str1);
printf("排序後:%s\n",str1);
break;
case 6:printf("輸出字元串:\n");
scanf("%s",str1);
printf("輸入要查找的字元:\n");
scanf("%c",&ch);
scanf("%c",&ch);
printf("ch所在位置為%d\n",mystrfind(str1,ch));
}
}
}int main()
{
menu();
return 0;
}
6. C語言怎麼實現字元串的任意輸入
樓主的意思是不是在輸入的時候不通過按回車鍵來結束字元串的輸入就能把字元串讀入程序?
7. C語言怎麼實現字元串的匹配
p=="delete"要改成用strcmp(p, "delete") == 0 來進行字元串匹配。
你的寫法是判斷兩個指針地址是否相等,而不是指針指向的內容相同。
p和"delete"的地址原本就不相等,一個指向了棧上分配了10個位元組的空間,空間的內容是"delete",另一個指向了常量區的"delete"。
請採納,謝謝
8. 怎麼用c語言實現字元串數組
C語言裡面字元串跟數組沒有明顯界限,
char a[50]="a clever boy";
你可以當a是字元串,用%s列印,
也可以當它是保存char類型元素的數組,記得有個結束符就好。
9. 如何用C語言實現一個字元串的截取
char*subString(char*str,intstar,intlen)這個原型聲明沒有問題,傳遞進去一個字元串,起始字元的位置,以及截取的長度。按照這個意思來寫最後是沒有問題的。返回值為字元型指針可以在這個函數裡面聲明一個字元數組,最後將這個字元數組返回,。。。
10. 用C語言編程:編寫一個函數,將兩個字元串連接起來
1、新建一個工程和.c文件,輸入頭文件和主函數。