gpt4 book ai didi

c - 如何从C中的每一行中读取第二个和最后一个字

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:31 25 4
gpt4 key购买 nike

我有一个包含这样数据的文件

{0/Data1/, 0x00, 0, 0xFF},

{1/data2/, 0x00, 0, 0xFF},

{2/data3/, 0x00, 0, 0xFF},

{3/data4/, 0x00, 0, 0xFF},...

我只想打印每行的第二列和最后一列。下面是我处理的代码。它打印整行。如何编辑以仅打印每行的第二列和最后一列。

#include<stdio.h>

#include<conio.h>

int main ()
{
char filename[] = "file.txt";

FILE *file = fopen(filename, "r");

if(file!= NULL)
{
char line[128];

while ( fgets( line, sizeof line, file)!= NULL)
{
fputs ( line,stdout);
}
fclose(file);
}
else
{
perror(filename);
}


getch();

return 0;
}

请帮忙!

非常感谢!

最佳答案

sscanf()应该可以解决问题。

它使用类似于 printf() 的格式字符串,然后将值读入变量。

#include <stdio.h>
#include <stdlib.h>

int main()
{
unsigned int a, c, d, e;
char b[101] = "";
char filename[] = "file.txt";
FILE *file = fopen(filename, "r");
if (file != NULL) {
char line[128];
while (fgets(line, sizeof line, file) != NULL) {
sscanf(line, "{%d %100s , %x, %d, %x}", &a, b, &c, &d, &e);
printf("%d %X\n", d, e);
}
fclose(file);
} else {
perror(filename);
}
return 0;
}

关于c - 如何从C中的每一行中读取第二个和最后一个字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10179622/

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