Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

文字列トークンを出力するCプログラム


単語が少ない文を含む文字列sがあるとします。各単語を新しい行に印刷する必要があります。これを行うには、string.hヘッダーファイルの下でstrtok()関数を使用できます。この関数は、文字列と区切り文字を受け取ります。ここでの区切り文字は空白スペース""です。

したがって、入力がs ="Let us see some string tokenizing fun"のような場合、出力は次のようになります

Let
us
see
some
string
tokenizing
fun

これを解決するには、次の手順に従います-

  • token:=strtok(s、 "")を使用した最初の単語ここでの区切り文字は ""

  • トークンがゼロ以外の場合は、次のようにします。

    • トークンの表示

    • token:=sの次のトークン。これから、同じ区切り文字スペース""を使用してstrtokの最初の引数としてNULLを渡します。

理解を深めるために、次の実装を見てみましょう-

#include <stdio.h>
#include <string.h>
int main(){
    char s[] = "Let us see some string tokenizing fun";
    char* token = strtok(s, " ");
    while (token) {
        printf("%s\n", token);
        token = strtok(NULL, " ");
    }
}

入力

Let us see some string tokenizing fun

出力

Let
us
see
some
string
tokenizing
fun

  1. 指定された文字列のすべての順列を出力するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列の可能なすべての順列を表示するために必要な文字列が与えられます。 次に、以下の実装のソリューションを見てみましょう- 例 # conversion def toString(List):    return ''.join(List) # permutations def permute(a, l, r):    if l == r:       print (toString(a))    e

  2. 文字列に偶数の長さの単語を出力するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を指定すると、文字列内のすべての単語を均等な長さで表示する必要があります。 アプローチ split()関数を使用して入力文字列を分割します。 forを使用して文字列の単語を繰り返し処理します ループ& len()を使用して単語の長さを計算します 機能。 長さが均等であると評価されると、単語が画面に表示されます。 それ以外の場合、画面に単語は表示されません。 次に、以下の実装を見てみましょう- 例 def printWords(s): # split