独自の文字列関数を作成しようとしていますが、この時点で立ち往生しているようです。以下は、文字列を作成して印刷し、サイズを返すためにこれまでに持っているものです。しかし、char だけでなく char の文字列へのポインターが渡される関数を作成する必要があり、文字列内のその char の出現回数を返します。この関数から関数 make_string を呼び出そうとしていますが、機能させることができません。.h ファイルには、関数が事前にリストされているだけです。これについての助けをいただければ幸いです。ありがとう!
#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;
}