我想创建我自己的字符串函数,我似乎被卡在这一点。以下是我迄今为止制作一个字符串并打印并返回大小的内容。但我需要做一个函数,该函数将指针传递给一个字符串以及一个char,并返回该字符串中该char的出现次数。我试图从这个函数调用函数make_string,但不能让它工作。 .h文件只有预先列出的功能。任何帮助,这将不胜感激。谢谢!如何在C中创建自己的字符串函数?
#include "readLineUtilities.h"
int make_string(char **line)
{
char *a,b;
int i,size=0;
a = (char *) malloc(sizeof(char));
b = getchar();
while(b != '\n' && size < MAX)
{
*(a+size) = b; //remember at this point size = 0
size++;
b = getchar();
a = realloc(a,size+1);
}
*(a+size) = '\0'; //end of string marker so no need to return the size directly
*line = a;
return size;
}
int char_in_string (char *line, char c) {
make_string(*line);
}
void print_string(char *line, int size){
char *a;
int i;
a = line;
for (i=0;i<size;i++)
printf("%c",*(a+i)); //no end of line
printf("\n");
}
int length_string(char *line){
int size = 0;
char *c,b;
c = line;
if (c == NULL){
printf("line is null\n");
return size;
}
while (*(c + size) != '\0'){
size++;
}
return size;
}
你能解释一下为什么你试图这样做吗?它不能避免使用内置的字符串函数,因为你使用'printf()'和'getchar()'。它不可能是性能,因为的realloc的'数()'叫你'make_string使()'是荒谬的。那么你想要做什么? – 2013-02-19 03:06:53