我希望能够询问他想从输入文件打印哪个列。输入文件是一个标准文本文件,该文件具有4个列(如全局变量中的代码所述),该文件被空间分开(这是我用来分隔Getline函数中的每一行的方法。)
谢谢。
#include <stdio.h>
#include <string.h>
#define LINE_SIZE 256
#define COL_NUM 3
int main()
{
char line[LINE_SIZE];
char *ptr;
int column;
FILE * fp = fopen("input.txt", "r");
while(!feof(fp)){ // if not the end of file
fgets(line, sizeof(line), fp); // get one line each time
ptr = strtok(line, " "); // split line by space
column = 1; // starting column is one
while(ptr != NULL) // if the line is not finished
{
if(column == COL_NUM){
printf("%sn", ptr); // print what we got
ptr = strtok(NULL, " "); // and keep splitting
}
ptr = strtok(NULL, " "); // and keep splitting
column++;
}
}
fclose(fp);
return 0;
}
首先,您需要要求用户输入列号,之后您需要检查输入号是否在1和4之间,然后打印您选择的行。<<<<<<<<
int input = 0;
int i = 0;
printf("Select a column number!n");
scanf("%d", &input);
if (input>0 && input <5)
{
for (i=1; i<5; i++)
{
fgets(line, sizeof(line), fp);
if (input == i)
printf("The column is %sn", line);
}
}