C言語のstrtolとstrtok関数の使い方を教えて

C言語では strtol と strtok 関数を以下のように使用します。

  1. strtol 関数は文字列を長整数に変換します。その関数のプロトタイプは次のとおりです。
long strtol(const char *nptr, char **endptr, int base)
  1. 変換対象の文字列
  2. endptr:変換完了後の先頭の無効文字を指すポインタで、NULL になる可能性があります。
  3. 進数は2から36までの任意の数または0

ネイティブな日本語でこの文を言い換えてください。オプションは1つだけです。

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[] = "12345abc";
    char *endptr;
    long num = strtol(str, &endptr, 10);
    
    if (endptr == str) {
        printf("No digits were found.\n");
    }
    else {
        printf("The number is: %ld\n", num);
        printf("The next character is: %s\n", endptr);
    }
    
    return 0;
}
  1. strtok関数は文字列を分割するために使用されます。その関数プロトタイプは次のとおりです。
char *strtok(char *str, const char *delim)
  1. 分割する文字列。最初の呼び出し時は設定し、以後の呼び出し時はNULLを設定。
  2. 文字列を分割するためのデリミタ:分割文字列の区切り文字。

例えばコード:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello,World,How,Are,You";
    char *token;
    
    token = strtok(str, ",");
    while (token != NULL) {
        printf("%s\n", token);
        token = strtok(NULL, ",");
    }
    
    return 0;
}
bannerAds