gpt4 book ai didi

c - 如何将用户界面添加到我的简单 C 代码中

转载 作者:行者123 更新时间:2023-11-30 16:59:47 25 4
gpt4 key购买 nike

我希望能够询问用户他想要从输入文件中打印哪一列。输入文件是一个标准文本文件,有 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("%s\n", 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 %s\n", line);
}

}

关于c - 如何将用户界面添加到我的简单 C 代码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com