字符串操作练习以及scanf()的注意事项

/*
 ============================================================================
 Name        : String.c
 Author      : lf
 Version     :
 Copyright   : Your copyright notice
 Description : 字符串操作练习以及scanf()的注意事项
 1 字符串的插入
 2 删除字符串中的字符
 3 scanf()的注意事项
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void test1();
void test2();
void test3();

int main(void) {
	test1();
	test2();
	test3();
	return EXIT_SUCCESS;
}


/**
 * 字符串的插入
 * 操作步骤:
 * 1 找到插入的位置
 * 2 保存插入位置之后的字符串
 * 3 将插入位置之后的字符串截掉
 * 4 原字符串与待插入字符串组拼
 * 5 原字符串与原插入位置后的字符串组拼
 */
void test1(){
	char insertString[10]=" hello vc";
	char oldString[40]="hello java hello C++ hello c";
	printf("oldString=%s\n",oldString);
	char searchString[10]="C++";
	char *p=strstr(oldString,searchString);
	if (p!=NULL) {
		char tempString[20];
		strcpy(tempString,p+strlen(searchString));
		printf("tempString=%s\n",tempString);
		*(p+strlen(searchString))='\0';
		printf("oldString=%s\n",oldString);
		strcat(oldString,insertString);
		printf("oldString=%s\n",oldString);
		strcat(oldString,tempString);
		printf("oldString=%s\n",oldString);
	} else {
		printf("NOT FOUND\n");
	}
	printf("============\n");
}


/**
 * 删除字符串中的字符
 */
void test2() {
	int location = 0;
	char oldString[40] = "hello java hello C++ hello c";
	printf("oldString=%s\n", oldString);
	char newString[40];
	char deleteChar = 'l';
	char *p = oldString;
	while (*p != '\0') {
		if (*p != deleteChar) {
			newString[location] = *p;
			location++;
		} else {

		}
		p++;
	}
	printf("newString=%s\n", newString);
	strcpy(oldString,newString);
	printf("oldString=%s\n", oldString);
	printf("============\n");
}

/**
 *  scanf()的注意事项
 *  scanf()会将空格,制表符,空格,换行符,换页符当做数据的终止符.
 *  但是gets()不会,所以在输入字符串含有以上字符时可gets()
 */
void test3() {
//	char a[30];
//	scanf("%s", a);
//	printf("a=%s\n", a);

	char b[30];
	gets(b);
	printf("b=%s\n", b);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷哥的小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值