运行结果:
源代码:
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 //根据‘)‘数量判断数据有多少行 7 int getcharnum(char *str, char ch) 8 { 9 int num = 0; 10 //strchr返回第一个找到的地址 11 char *p = strchr(str, ch); 12 while (p != NULL) 13 { 14 num++; 15 p = strchr(p + 1, ch); 16 } 17 18 return num; 19 20 } 21 22 //删除字符,轮询法 23 void deletech(char *str,char ch) 24 { 25 //备份地址 26 char *pstr = str; 27 while (*str != ‘\0‘) 28 { 29 //等于就赋值前进,不等于就不赋值前进 30 if (*str != ch) 31 { 32 *pstr = *str; 33 pstr++; 34 str++; 35 } 36 else 37 { 38 str++; 39 } 40 } 41 *pstr = 0; 42 } 43 44 void main() 45 { 46 //未经过处理的字符串 47 char str[2048]= "我们还是当朋友好了(其实你还有可以利用的价值)\ 48 我想我真的不适合你(我根本就不喜欢你!) 49 其实你人真的很好(可是我不想和你在一起) 50 你人真的很好(我是真的不想和你在一起) 51 你人真的真的很好....真的(猪头, 离我远一点!) 52 我暂时不想交男朋友(闪边啦!你还不到我心中帅哥标准的一半) 53 我不想伤害我们之间的友谊(我们之间也只会有友谊) 54 我心中牵挂着一个人(那个人是我专门为你这种人虚构的) 55 我从来没想过这个问题(这是根本不可能的.还用想吗 ? ) 56 我不适合当个情人(废话, 没人会适合当你的情人的) 57 你给我一段时间考虑(不给我时间, 我怎么溜啊) 58 你的条件真的很好(可是还没好到我想要的地步) 59 可是这样的感觉好怪(你这丑八怪, 怪到这样还想吃天鹅肉 ? ) 60 你的温柔我会铭记在心的(拜托, 情圣!光温柔是没用的, 还要有钱!) 61 其实我一直没勇气接受你(看到你差点吓死, 哪还有勇气 ? ) 62 你真的很可爱(你真的很幼稚) 63 你真的是超级可爱啦(猪头, 不要象小孩那样缠着我!) 64 .遇到你, 总会让我重温童年的快乐(就象阿姨遇到小弟弟那样) 65 我们应该给彼此一点缓冲时间(给你时间快滚, 再不走我要翻脸啦!) 66 别人都说你条件不错啊(可我从来没这样认为!) 67 如果我们早点认识就好了(可以让你早点觉悟!) 68 别急嘛, 我们可以做朋友(趁这个时候我要找到我的白马王子啊~)"; 69 70 //根据‘)‘个数获取一共有多少行 71 int num = getcharnum(str, ‘)‘); 72 printf("一共有%d行\n\n", num); 73 74 char **strall;//二级指针存储数据 75 strall = (char **)malloc(sizeof(char *)*num);//分配内存,一共有多少行 76 77 //i是下标,strall[i] 78 int i = 0; 79 //strtok:从指定位置开始,往后找到指定字符,并赋值为‘\0‘ 80 for (char *pos = strtok(str, ")"); pos != NULL; pos = strtok(pos + strlen(pos)+1, ")")) 81 { 82 //分配内存并且拷贝 83 strall[i] = (char *)malloc(sizeof(char)*strlen(pos)); 84 strcpy(strall[i], pos); 85 //数据清洗,删除‘\t‘和‘(‘ 86 deletech(strall[i], ‘\t‘); 87 deletech(strall[i], ‘(‘); 88 //下标增加 89 i++; 90 } 91 92 //输出 93 for (int i = 0; i < num; i++) 94 { 95 printf("%s\n", strall[i]); 96 } 97 98 printf("%s", str); 99 100 system("pause"); 101 }
原文地址:https://www.cnblogs.com/xiaochi/p/8360443.html
时间: 2024-11-06 07:28:08