1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

C で文字列を読み取る方法

C で文字列を読み取る方法 C プログラミング言語は、実際の文字列データ型を提供しません。 C では、文字列は NULL で終わる文字の配列によってエミュレートされます。このような配列は、静的に宣言することも、ポインターとして宣言することもできます。標準 C には、文字配列または C 文字列を操作するための多くの関数が用意されています。この記事では、入力ストリームとファイルから読み取る関数に焦点を当てます。以下のヒントに従って、C で文字列を読み取る方法を学習してください。

ステップ 1

基本を理解する。 C 文字列は chart 型の配列です。すべての C 配列と同様に、最初の要素は 0 でインデックス付けされ、最後の要素は「文字列の長さから 1 を引いた値」でインデックス付けされます。通常、コンパイラは最後の位置に NULL を挿入するため、文字列は「文字列の長さから 1 を引いた値」の要素を保持できます。 Null は、整数形式では 0x00、文字形式では '\0' に相当します。要素は、"[]" 演算子によってアクセスされます。ステップ 2 は、これらの概念を示しています。

ステップ 2

このチュートリアルの関数を使用する前に、以下の「include ディレクティブ」を任意のソース ファイルに追加してください。

#include

ステップ 3

C 文字列を宣言します。以下のコードは、静的メソッドとポインター メソッドを使用した宣言を示しています。

// 静的宣言 char str[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("姓を入力してください:");取得 (文字列); 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 Plus Plus の Web サイトにアクセスしてください。

警告

このコードをコンパイルしようとしないでください。機能のデモンストレーションのみを目的としています。これは一貫したプログラムではなく、コンパイル時にエラーが発生します。