どうも、ちょげ(@chogetarou)です。
ポインタを使って文字列(string)をwhileループする方法を紹介します。
方法

ポインタを使って文字列(string)をwhileループするには、「\0」を使います。
まず、対象の文字列のアドレスで初期化したポインタを用意します。
次に、whileのループ条件に、「用意したポインタが「’\0’」以外」を指定します。
{}内にwhileのループ処理を指定します。
ループ処理では、変数のポインタで文字列の文字を取得できます。
そして、ループ処理の最後で、用意したポインタを「+1」します。
//text=対象の文字列
char *p = text;
while (*p != '\0') {
{
//ループ処理
//変数のポインタ(*p)で文字列の文字を取得
p++;
}
上記のwhileループは、文字列を1文字ずつループします。
使用例
#include <stdio.h>
#include <string.h>
int main(void){
char *text = "Hello,World.";
char *p = text;
while (*p != '\0') {
printf("%c", *p);
p++;
}
return 0;
}
出力:
Hello,World.
コメント