getline() で行を解析する方法については、途方に暮れています。行にある各文字を見てみたいと思います。
したがって、誰かが標準入力に「こんにちは」と入力した場合、次の方法で char 配列にアクセスできるようにしたいと思います。
line[0] = 'H'
line[1] = 'e'
line[2] = 'l'
line[3] = 'l'
line[4] = 'o'
line[5] = '/0';
getchar() も見ましたが、getline() の方が便利な気がするので試してみたいと思います。scanf() も調べましたが、空白がスキップされ、getchar() や getline() ほどうまく入力を解析できません。
以下は、stdin を介して行の最初の文字を取得しようとする単純なコードですが、セグ フォールトが発生します。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int len;
int nbytes = 100;
char *line = (char *) malloc (nbytes + 1);
while(getline(&line, &nbytes, stdin) > 0){
printf("first char: %s", line[0]); //try and get the first char from input
/**
* other code that would traverse line, and look at other chars
*/
};
return 0;
}
ありがとう。