常见的字符串操作(C语言实现)


printf ()和 scanf ()
头文件:stdio.h
要求:加入格式控制符
%c :单个字符
%s:字符串
int main()
{
    char string[100];
    int i=0;
    while(scanf("%s", &string[i]) != EOF)     //以Ctrl+Z结束
	 {
        	++i;
	 }
    printf("%s", string);
    return 1;
}

注意:其中scanf()输入字符串时不录入空格和回车

getchar ()和 putchar ()
头文件:stdio.h
要求:不需要加入格式控制符
功能:输入输出单个字符
int main()
{
    char string[10];	
    string[0] = getchar();
    putchar(string[0]);
    return 1;
}
gets ()和 puts ()
头文件: stdio.h
要求:不需要加入格式控制符
功能:输入输出字符串
int main()
{
      char string[100];
      gets(string);
      puts(string);
      return 1;
}

getch ()和 putch ()
头文件: conio.h
要求:不需要加入格式控制符
功能:无显示的输入输出单个字符。
这个函数可以让用户按下任意键而不需要回车就可以接受到用户的输入。
int main()
{	char string[10];
        string[0]  = getch();
	putch(string[0]);
	putchar('\n');
	return 1;
}

字符串操作:
输入:字符串
输出:字符串中空格换成%20其他不变
如:输入I am happy,   输出:I%20am%20happy
#include<stdio.h>

void ReplaceBlank(char string[], int length);

int main()
{
	char string[100];
	int length = 100;

	gets(string);
	ReplaceBlank(string, length);

	puts(string);
	return 1;
}

void ReplaceBlank(char string[], int length)
{
	int originallength = 0;
	int finallength = 0;
	int i = 0;
	int count = 0;
	while(string[i] != '\0')
	{
		++originallength;
		if (string[i] == ' ')
		{
                    ++count;
		}
		++i;
	}
	finallength = originallength + 2*count;
	if (finallength > length)
	{
		return;
	}
	while (originallength >= 0 && finallength >originallength)
	{
		if (string[originallength] == ' ')
		{
			string[finallength--] = '0';
			string[finallength--] = '2';
			string[finallength--] = '%';
		}
		else
		{
			string[finallength--] = string[originallength];
		}
		originallength--;
	}
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值