与えられた文字列ポインタからintまたはcharを書き出す関数をCで作成するには、文字列内でintとcharを区別する方法を決定する必要があります。この例では、数字と文字だけを含む文字列があるとします（スペースや他の文字は含まれません）。文字列へのポインタとインデックスを受け取り、指定されたインデックスのintまたはcharを表示する関数を作成します。

以下に簡単な例を示す：
``` 
#include <stdio.h>
#include <ctype.h>

void print_int_or_char(const char* str, int index) {
    char c = str[index];
    
    if (isdigit(c)) {
        int num = c - '0'; // Convert the char digit to an integer value
        printf("Integer: %d\n", num);
    } else if (isalpha(c)) {
        printf("Character: %c\n", c);
    } else {
        printf("Invalid input\n");
    }
}

int main() {
    const char* input_string = "a1b2c3";
    int index = 2; // Specify the index of the character you want to print
    
    print_int_or_char(input_string, index);

    return 0;
}
```
この例では、print_int_or_char関数は文字列ポインタとインデックスを引数にとります。この関数は、指定されたインデックスにある文字が数字か文字かをチェックします。数字であれば、その文字を整数値に変換して表示します。文字であれば、その文字を直接表示します。入力が数字でも文字でもない場合、"Invalid input "というメッセージを表示する。
To create a function in C that writes an int or a char from a given string pointer, you need to determine how to distinguish between an int and a char within the string. In this example, let's assume that you have a string that contains only digits and letters (no spaces or other characters). We'll create a function that takes a pointer to a string and an index, and prints the int or char at the specified index.

Here's a simple example:
``` 
#include <stdio.h>
#include <ctype.h>

void print_int_or_char(const char* str, int index) {
    char c = str[index];
    
    if (isdigit(c)) {
        int num = c - '0'; // Convert the char digit to an integer value
        printf("Integer: %d\n", num);
    } else if (isalpha(c)) {
        printf("Character: %c\n", c);
    } else {
        printf("Invalid input\n");
    }
}

int main() {
    const char* input_string = "a1b2c3";
    int index = 2; // Specify the index of the character you want to print
    
    print_int_or_char(input_string, index);

    return 0;
}
``` 
In this example, the print_int_or_char function takes a string pointer and an index as its arguments. The function checks if the character at the specified index is a digit or a letter. If it's a digit, it converts the character to an integer value and prints it. If it's a letter, it prints the character directly. If the input is neither a digit nor a letter, the function prints an "Invalid input" message.