ファイルに一連の行があり、各行には","
.
区切り文字に基づいて文字列を分割し、最初のインデックスが入力ファイルの行番号で、2 番目のインデックスが列番号である多次元配列に結果を格納するにはどうすればよいですか?
C で使用strtok()
できる string.h ヘッダー ファイルでの使用。
strtok(char * array, ",");
char * array[size of columns][size of rows]
pch = strtok (str,",");
int i, j;
while (pch != NULL)
{
array[i++][j] = pch;
if( i == size of columns - 1){
i = 0; j++;
}
pch = strtok (NULL, ",");
if(j == size of rows -1){
break;
}
}
(c-strings の仕組みにより) できることは、"," に遭遇するまで文字をチェックすることです。次に、その文字を\0
(NULL 文字) に置き換え、チェックを開始した最後の位置を追跡します (最後の NULL 文字の後の文字列または文字. これにより、区切られた各ピースの使用可能な c-string が得られます。