⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tstring.c

📁 Software Development in C: A Practical Approach to Programming and Design 软件开发:编程与设计(C))——国外经典教材·计
💻 C
字号:
#include "TString.h"

void TextStringSetFromTextString(
		text_string *destination,
		const text_string *source)
{
	int i;

	for (i=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(source->charString[i]!='\0');
		 i++)
	{
		destination->charString[i]=source->charString[i];
	}
	destination->charString[i]='\0';
	destination->length=i;
}


void TextStringSetFromCharArray(
		text_string *destination,
		const char * const source)
{
	int i;

	for (i=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(source[i]!='\0');
		 i++)
	{
		destination->charString[i]=source[i];
	}
	destination->charString[i]='\0';
	destination->length=i;
}


void TextStringConcatenateTextString(text_string *destination,
									 const text_string *string1,
									 const text_string *string2)
{
	int i,j;

	// Copy the characters from string1.
	TextStringSetFromTextString(destination,string1);

	// Copy the characters from string2.
	for (i=string1->length,j=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(string2->charString[j]!='\0');
		 i++,j++)
	{
		destination->charString[i]=string2->charString[j];
	}
	destination->charString[i]='\0';
	destination->length=i;
}

void TextStringConcatenateCharArray(text_string *destination,
									const text_string *string1,
									const char * const charArray)
{
	int i,j;

	// Copy the characters from string1.
	TextStringSetFromTextString(destination,string1);

	// Copy the characters from string2.
	for (i=string1->length,j=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(charArray[j]!='\0');
		 i++,j++)
	{
		destination->charString[i]=charArray[j];
	}
	destination->charString[i]='\0';
	destination->length=i;
}


text_string *TextStringAppendTextString(
				text_string *string1,
				const text_string *string2)
{
	int i,j;

	// Copy the characters from string2.
	for (i=string1->length,j=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(string2->charString[j]!='\0');
		 i++,j++)
	{
		string1->charString[i]=string2->charString[j];
	}
	string1->charString[i]='\0';
	string1->length=i;

	return (string1);
}


text_string *TextStringAppendCharArray(
				text_string *string1,
				const char * const charArray)
{
	int i,j;

	// Copy the characters from string2.
	for (i=string1->length,j=0;
		 (i<MAX_TEXT_STRING_LENGTH-1) && 
			(charArray[j]!='\0');
		 i++,j++)
	{
		string1->charString[i]=charArray[j];
	}
	string1->charString[i]='\0';
	string1->length=i;

	return (string1);
}


text_string *TextStringAppendChar(text_string *string1,
								  const char aCharacter)
{
	if (string1->length<MAX_TEXT_STRING_LENGTH-2)
	{
		string1->charString[string1->length] = aCharacter;
		string1->length++;
		string1->charString[string1->length] = '\0';
	}
	return (string1);
}


int TextStringPrintf(const text_string *source)
{
	return (printf("%s",source->charString));
}


int TextStringScanf(text_string *destination)
{
	return(scanf("%s",destination->charString));
}


int TextStringLength(const text_string *theString)
{
	return (theString->length);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -