[c/c++] programming之路(21)、字符串(二)
一、for /l %i in (1,1,5) do calc 等命令行参数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> void main() {
/*char str[] ="for /l %i in (1,1,5) do calc";
char *p = "for /l %i in (1,1,5) do calc";*/
//str[0] = ' '; str是数组,存储的是字符串的每一个字符
//*p = ' '; p是指针,存储字符串的地址,所以不能对其赋值 char str[] = { };
int num;
char op[] = { };
scanf("%d %s", &num, op);
printf("for /l %%i in (1,1,%d) do %s",num,op);
sprintf(str,"for /l %%i in (1,1,%d) do %s", num, op);
system(str); system("pause");
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>o void main() {
char str[] = { };
char op[] = { };
scanf("%s", op);
sprintf(str,"taskkill /f /im %s",op);
system(str); system("pause");
}

二、变色龙
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h> void main() {
system("tasklist");
while ()
{
for (int i = 0x0; i <= 0xf; i++)//0x 16进制
{
char str[] = { };//存储指令
sprintf(str, "color %x%x", i, 0xf - i);//打印指令
system(str);//变色
Sleep();
}
}
system("pause");
}


三、gets和puts(对比scanf和printf)

puts()函数自动换行。
四、strstr(在串中查找指定字符串的第一次出现)
#include<stdio.h>
#include<stdlib.h>
#include<string.h> void main() {
char str1[] = "my name is yincheng";
char str2[] = "chen";
char *p = strstr(str1, str2); if (p == NULL) printf("没找到!");
else
{
printf("找到了,%p,%c\n", p,*p);//%p:地址类型
}
system("pause");
}


五、strcmp以及自己实现这个函数功能(mystrcmp)
#include<stdio.h>
#include<stdlib.h>
#include<string> void main() {
char str1[] = "hello yincheng";
char str2[] = "hello yincheng";
int num;
num = strcmp(str1, str2);
printf("%d\n", num);//num==0表明相等
if (num == ) //验证密码
printf("字符串相等");
else
printf("字符串不等"); system("pause");
}


#include<stdio.h>
#include<stdlib.h>
#include<string> void main() {
//Windows排序忽略大小写,strcmp严格区分大小写
char str1[] = "BaAAA";
char str2[] = "BAAAA";
//字符都有编号,大写A65,小写a97;
//字符串比较:从左到右依次比较 int num;
num = strcmp(str1, str2);//对比大小
printf("%d\n", num);//num==0表明相等
if (num < )
printf("第一个字符串比较小");
else if(num>)
printf("第一个字符串比较大");
else
printf("两个字符串相等");
system("pause");
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string> int mystrcmp(char *p1, char *p2) {
int i = ;
while (p1[i]==p2[i]&&p1[i]!='\0')
{
i++;
}
int num;//代表返回值
if (p1[i] == '\0' && p2[i] == '\0')
num = ;//判断相等
else
num = p1[i] - p2[i];
return num;
} void main() {
char str1[] = "AppCompat";
char str2[] = "AppPatch";
_strupr(str1);//全部升级为大写
_strupr(str2);
printf("%s\n%s\n",str1,str2);//打印字符串
int num = mystrcmp(str1, str2);
if (num < )
printf("第一个字符串比较小");
else if(num>)
printf("第一个字符串比较大");
else
printf("两个字符串相等");
system("pause");
}
六、strncmp及strchr
#include<stdio.h>
#include<stdlib.h>
#include<string.h> void main() {
char str1[] = "notepad1";
char str2[] = "notepadcalc";
if (strncmp(str1, str2, ) == )
printf("相等");
else
printf("不相等"); system("pause");
}


#include<stdio.h>
#include<stdlib.h>
#include<string.h> void main() {
char str[] = "notepad1";
//char *p = strchr(str, 't');//找到
char *p = strchr(str+, 't');//没找到
//strchr第一个参数可以从任意位置检索字符
if (p==NULL)
printf("没找到\n");
else
printf("找到%p,%c\n",p,*p); system("pause");
}
七、字符串二级指针
#include<stdio.h>
#include<stdlib.h> char str1[] = "notepad";
char str2[] = "tasklist"; //函数有副本机制,形式参数会开辟内存,新建一个变量,容纳传递过来的实际参数
void change(char * str) {
printf("change-%p\n", &str);
str = str1;//改变指针指向
} //改变一个变量,需要变量的地址;如果变量是地址,需要二级指针
void changep(char **pp) {
*pp = str1;
} void main() {
char *p = str2;
//change(p);
changep(&p);
printf("main-%p\n", &p);
system(p); system("pause");
}

[c/c++] programming之路(21)、字符串(二)的更多相关文章
- GO语言的进阶之路-Golang字符串处理以及文件操作
GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...
- 《前端之路》之二:数据类型转换 && 隐式转换 || 显式转换
目录 02:数据类型转换 && 隐式转换 || 显式转换 02:数据类型转换 && 隐式转换 || 显式转换 在上一个章节中,我们介绍了 JavaScript 的基本的 ...
- C蛮的全栈之路-node篇(二) 实战一:自动发博客
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)----002
原文链接:https://blog.csdn.net/cyq1162/article/details/53303390 前言说明: 本篇继续上一篇内容,本节介绍所有相关查询的使用. 主要内容提要: 1 ...
- [c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset
一.memset #include<stdio.h> #include<stdlib.h> #include<memory.h> void *mymemset(vo ...
- [c/c++] programming之路(23)、字符串(四)——strncat,atoi,strcmp,strlen等,以及常用内存函数
一.strncat及自行封装实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #i ...
- [c/c++] programming之路(20)、字符串(一)
一.字符串 #include<stdio.h> #include<stdlib.h> void main(){ ]="notepad"; printf(&q ...
- [c/c++] programming之路(31)、位运算(二)
一.取反的高级用法 #include<stdio.h> #include<stdlib.h> //取反的作用:末位清零 取反适用于各种位数不同的数据 void main0(){ ...
随机推荐
- maven 中的mirror详解
一.前言 今天同事遇到个问题,本来公司是有maven私服的,但同事觉得上面有些东西下载不到,于是在自己本地的maven配置中加了: <mirrors> <mirror> < ...
- linux下tar命令的常用实例
语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项:c 创建新的档案文件.如果用户想备份一个目录或是一些 ...
- RecyclerView实现分组展示信息
extends:http://blog.csdn.net/wzlyd1/article/details/52292548 前言 一直在鸿洋大神的安卓群里水群,渐渐的loader和安卓弟等人都成长了起来 ...
- zoj 3871
貌似这道题某人已经扔给我一个多星期了(雾) 首先要知道这样一点:凸包的面积可以直接用线段的有向面积和求得. 自己口胡的证明:单纯一条线段自身的叉积就是到原点与这条线段构成三角形的面积吧,那么加加减减之 ...
- gym 101755
别问我为什么现在才发... 我怎么睡醒午觉吃了个饭就晚上九点半了啊????? 真实自闭场,感觉码力严重不足需要补魔. A: #include <bits/stdc++.h> using n ...
- ora-01017 和oracle database link
DB link ,创建完了后总是报密码错误.我感到奇怪.明明密码是对的.怎么可能错误呢. SQL> create public database link kk40 connect to khf ...
- Java程序员必会英语单词
Complie: 编译 line: 行 variable: 变量 parameter: 参数 defaul: 默认 access: 访问 operation: 操作运算 member-variabl ...
- CentOS使用systemctl daemon-reload报错Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24)解决办法
CentOS修改了系统启动文件后需要重载报错 systemctl daemon-reload Error getting authority: Error initializing authority ...
- svn和NetBeans一起使用造成svn老是死锁, database is locked
其实我一直没发现,又一次我以为需要写些前端吧NetBeans关了,使用HBuilder写vue,因为内存只有8G,乱七八糟的一些东西一开,只剩20%左右,我就把 NetBeans关了,发现更新svn的 ...
- LaTeX参考文献出现问号
自己用LaTeX编辑,忘记在\end{document}前面放: \bibliographystyle{ieeetr}\bibliography{sample-bibliography} 导致这个现象 ...