我希望您能为我正在为作业编写的程序的这种方法提供一些输入和二维数组。编程语言是 CI 得到了一些输入参数:
FILE * ifp = 输入文件指针,在main中打开,打开一个txt文件,格式为每行3个字符串
char ** firstTokens, middleTokens = 2 维 char 数组,我希望它们保留前两个字符串减去每个字符串末尾的预期标点符号(例如逗号和句点)。计划作为输出参数。
char * lastLetter = txt 文件中每行最后一列中任何字符串的第一个字母。计划作为输出参数。
int numberOfLines = 我希望从文本文件中读取的行数
这是我的主函数中对方法的调用:
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];
}
}