C 字符串指针的应用
来源:互联网 发布:中兴通开票软件下载 编辑:程序博客网 时间:2024/06/05 05:00
这个简单,就只放大招了。
#include <stdio.h> #include <Windows.h>#pragma warning(disable:4996)//函数功能:字符串拷贝函数//函数参数:strDest为目标串,strSource为源串//函数返回:真或假char strCpy(char *pDest, char *pSrc){//如果给定的字符串都为空直接返回if(pDest==NULL || pSrc==NULL)return false; //如果不为空,字符串赋值while((*pDest++ = *pSrc++)!='\0'){}return true;}//函数功能:字符串的内存拷贝//函数参数:strDest为目标串,strSrc为源串,nLen为要拷入的长度//函数返回:strD为拷入后的字符串void *memcpy(void *pDest, void *pSrc, int nLen){DWORD*p, *q;//定义DWORD类型的指针来四个字节拷贝BYTE *b, *d;//定义BYTE类型的指针来一个字节的拷贝int i,n, m; //判断目标串和远程是否为空if (pDest == NULL || pSrc == NULL) return NULL;//给DWORD类型指针赋值p = (DWORD*)pDest;q = (DWORD*)pSrc;n = nLen/4;m = nLen%4; //以四个字节开始拷贝for (i = 0; i< n; i++){*p++ = *q++;}//不足四个字节的一一进行拷贝//给BYTE类型指针初始化b = (BYTE*)p;d = (BYTE*)q;//以一个字节进行拷贝 for (i = 0; i< m; i++) {*b++ = *d++; }return pDest;}//函数功能:从字符串中删除所有的字符//函数参数:strDest为目标串,pSrc为给定字符//函数返回:strD为删除后的字符char strDel(char *pDest,char pSrc){char*a1, *a2; //源字符串不能为空,如果为空则返回错误 if(pDest == NULL)return false; //a1 a2 指向源字符串,后续改变指针变量的值相当于改变源字符串的值a1=a2=pDest;//在源字符串中寻找指定字符while(*a2++){//如果找到了,使指定的字符赋值成下一个,跳过去if(*a2 != pSrc)*a1++ = *a2;}//结束 *a1='\0';return true;}//函数功能:计算目标值的阶乘//函数参数:a 为目标值//函数返回:目标值的阶乘值int fac(int a){if(a == 1||a == 0)return 1;elsereturn a*fac(a-1);}//函数功能:计算文本的大小//函数参数:文件指针//函数返回:文本大小int GetFilesSize(FILE *fp){ int nFileLen;fseek(fp,0,SEEK_SET);fseek(fp,0,SEEK_END);nFileLen = ftell(fp);return nFileLen;}//函数功能:计算文本有几行//函数参数:空//函数返回:文本行数int file(){FILE*fp;char*buf, *p;intn = 0; intnFileLen; //判断文件是否为空if((fp = fopen("file.txt","rb")) == NULL){printf("Wrong\n");} //计算文本的长度 nFileLen = GetFilesSize(fp);//开辟一个内存空间来储存文本的值 buf = (char*)malloc(nFileLen + 0x1000);memset(buf, 0, nFileLen + 0x1000);fseek(fp, 0, SEEK_SET); fread(buf, 1, nFileLen, fp);fclose(fp); p = buf;//在文本中寻找换行字符while (p < buf + nFileLen){ //如果找到则加一if (*p == 0xa)n++;p++;} //释放指针free(buf); //返回n值return n;}//主函数void main(){char A[0x100] = "xysadasdasd";char B[0x100] = "abc任务而我去额";char C[0x100] = "abcaabc";char D = 'a';printf("字符串A为:%s\n",A);printf("字符串B为:%s\n",B);if(strCpy(A, B))printf("把字符串拷贝给A后,A为:%s\n", A);elseprintf("Wrong\n");printf("字符串C为:%s\n",C);printf("字符D为:%c\n",D); if(strDel(C,D)) printf("字符串去除字符%c后,字符串为:%s\n",D,C);elseprintf("Wrong\n"); printf("5的阶乘为:%d\n",fac(5)); printf("file.txt文本由%d行\n",file());//BYTE WORD DWORD memcpy(C, A, 7);printf("把字符串拷贝7个字节给C后,C为:%s\n",C);}
1 0
- C 字符串指针的应用
- C的字符串指针排序
- C语言字符串的指针
- [C++] 函数指针的应用
- C语言指针的应用
- c语言指针的应用
- C语言字符串指针(指向字符串的指针)
- 94 C语言字符串指针(指向字符串的指针)
- C语言字符串指针(指向字符串的指针)
- 存放字符串的指针数组相关应用
- C-指针与字符串,函数等应用(8)
- 指针(二)字符串指针的理解与应用
- C语言-字符串的拷贝指针
- c语言 指针 字符串的复制
- C语言指针实现字符串的反转
- C语言编程指针的应用场合
- C 中指针的复杂应用
- C语言中指针的应用
- Weblogic基础-启动 MS
- Weblogic基础-Boot Identity File
- Weblogic基础 AS MS之间关系 AS BACKUP
- Weblogic基础 Scripting Tool (WLST)
- JAVA基础
- C 字符串指针的应用
- Wireshark图解教程(简介、抓包、过滤器)
- JNI基本内容简介
- SQL注入漏洞全接触--进阶篇
- android 当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出
- ios emoji 表情在 跨平台之间的发送 (一)、知识准备
- Java 程序打包成jar文件 含第三方jar包
- Oracle 使用 RMAN 复制数据库
- 是程序猿太懒还是测试人员有病