Cで文字列を読み取る方法。 Cプログラミング言語は、実際の文字列データ型を提供しません。 Cでは、文字列はNULLで終わる文字の配列によってエミュレートされます。 このような配列は、静的に宣言することも、ポインターとして宣言することもできます。 標準Cは、文字配列またはC文字列を操作するための多くの関数を提供します。 この記事では、入力ストリームとファイルから読み取る関数に焦点を当てています。 これらのヒントに従って、Cで文字列を読み取る方法を学習してください。
ステップ1
基本を理解します。 C文字列は、チャート型の配列です。 すべてのC配列と同様に、最初の要素は0でインデックス付けされ、最後の要素は「文字列の長さから1を引いた値」でインデックス付けされます。 通常、コンパイラは最後の場所にNULLを挿入するため、文字列は「文字列の長さから1を引いた長さ」を保持できます。 要素。 Nullは、整数形式では0x00、文字形式では '\ 0'に相当します。 要素には「[]」演算子でアクセスします。 ステップ2は、これらの概念を示しています。
今日のビデオ
ステップ2
このチュートリアルの機能を使用する前に、以下の「includeディレクティブ」をソースファイルに追加してください。
#include
ステップ3
C文字列を宣言します。 以下のコードは、staticメソッドとpointerメソッドを使用した宣言を示しています。
//静的宣言charstr [50] = {0}; //すべての要素を0に初期化する簡単な方法// str [49]はNULLです// strには48文字の容量があります//ポインタcharによる宣言 pStr = NULL; //メモリ割り当てなしpStr =(char)malloc(50); //これは「malloc()」によって行われます
ステップ4
「scanf()」を使用してデータをC文字列に読み込みます。これは、標準からスペースで区切られた一連の文字列を読み取ります。 「フォーマット」に従って、適切な参照変数に属するアドレスに入力して配置します。 ストリング":
int n; printf( "名と年齢を入力してください:"); scanf( "%s%d"、str、&n); // printf( "あなたの名前は%sで、あなたは%d歳です\ n"、str、n);
ステップ5
より単純な「gets()」関数を使用してデータをC文字列に入れます。この関数は、標準入力から文字列にのみデータを読み取ります。
printf( "家系の名前を入力してください:"); 取得(str); printf( "あなたの名前は%s \ n"、str);
ステップ6
「fscanf()」を使用してファイルデータをC文字列に読み込みます。 この関数は「scanf()」に類似しています。
FILE * pFile; pFile = fopen( "myFile.txt"、 "r"); //ファイルが存在し、データがあると想定if(NULL!= pFile){fscanf(pFile、 "%s"、str); printf( "ファイルの最初の単語は%s \ n"、str); fclose(pFile); }
ステップ7
「gets()」と同じように機能する「fgets()」を使用して、手順5を繰り返します。
FILE * pFile; pFile = fopen( "myFile.txt"、 "r"); if(NULL!= pFile){fgets(pFile、str); printf( "ファイルの最初の単語は%s \ n"、str); fclose(pFile); }
必要なもの
C / C ++ IDEまたはCコンパイラ
BrianWによる「TheCProgrammingLanguage」などのCに関する本。 カーニハン
ヒント
上記の機能の詳細については、C PlusPlusのWebサイトにアクセスしてください。
警告
このコードをコンパイルしようとしないでください。 機能を示すことだけを目的としています。 これは一貫性のあるプログラムではなく、コンパイル時にエラーが発生します。