私が課題のために書いているプログラムのこのメソッドのために、いくつかの入力と2次元配列を手伝ってくれるといいのですが。プログラミング言語はCIで、いくつかの入力パラメーターを取得しました。
FILE * ifp =入力ファイルポインタ、メインで開き、1行あたり3文字列の形式のtxtファイルを開きました
char ** firstTokens、middleTokens = 2次元のchar配列。最初の2つの文字列から、各文字列の最後にある予想される句読点(コンマやピリオドなど)を除いたものを保持する必要があります。出力パラメータになる予定です。
char * lastLetter=txtファイルの1行あたりの最後の列にある文字列の最初の文字。出力パラメータになる予定です。
intnumberOfLines=テキストファイルから読み取ることを期待している行数
これは私のメイン関数のメソッドの呼び出しです:
readLine(ifp, firstTokens, middleTokens, lastLetter, numberOfLines);
私の編集では常にコンパイラエラーとセグメンテーション違反が発生するため、私の問題はとfirstTokens
を正しく取得することにあると思います。middleTokens
エラーに対するいくつかのヘルプ/説明をいただければ幸いです。
void readLine(FILE * ifp, char ** firstTokens, char ** middleTokens, char* lastLetter, int numberOfLines)
{
char* tempFirst;
char* tempMiddle;
char* tempLast;
char delim[4];
delim[0] = '.';
delim[1] = '\0';
delim[2] = '\n';
delim[3] = ',';
int i;
for(i = 0; i < numberOfLines; i++)
{
fscanf(ifp, "%s %s %s", tempFirst, tempMiddle, tempLast);
*firstTokens[i] = strtok(tempFirst, delim);
*middleTokens[i] = strtok(tempMiddle, delim);
lastLetter[i] = tempLast[0];
}
}