私のファイルは ":" deleimeter を使用して区切られています。ここで、区切り記号で区切られた文字列にインデックスを付けたいと思います。コマンドラインで引数としてインデックスと検索文字列を指定すると、一致したレコードが表示されます
コマンド ラインで Argument を 1 foo として指定するとします。1 はインデックス、foo は文字列です。したがって、txt ファイル全体で、インデックスが「1」の各行では、文字列「foo」がインデックス内で検索される必要があります。</p>
さらに、私のテキストファイルはLinuxのパスワードファイルです
#include<stdio.h>
int main(int argc, char *argv[])
{
char *str, *saveptr;
char ch[100];
char *sp;
FILE *f;
int j;
int index = atoi(argv[1])-1 ;
int stringsrch = argv[2] ;
f = fopen("passwd", "r");
while (fgets(ch, sizeof ch, f)!= NULL)
{
/*printf("%s\n", ch); */
for (j = 1, str = ch; ; j++, str= NULL)
{
char *token = strtok_r(str, ": ", &saveptr);
if (token == NULL)
break;
printf("%s\n", token);
}
}
fclose(f);