C 将txt文件转换为邻接列表
这是我的txt文件,我想转换邻接列表 矩阵中的课程以数字命名,如下所示:C 将txt文件转换为邻接列表,c,C,这是我的txt文件,我想转换邻接列表 矩阵中的课程以数字命名,如下所示: S,John 2 MATH101 CSE100 K,Jack 2 BLAW203 MATH101 B,Brown 2 STAT253 MATH259 G,Mary 3 MATH259 HIST111 STAT253 如何读取和转换C语言中的邻接列表?谢谢。这是解析部分-现在使用结构创建一个列表,并检查是否已插入元素 0 - MATH101 1 - CSE100 2 - BLAW203 3 - STAT253
S,John 2 MATH101 CSE100
K,Jack 2 BLAW203 MATH101
B,Brown 2 STAT253 MATH259
G,Mary 3 MATH259 HIST111 STAT253
如何读取和转换C语言中的邻接列表?谢谢。这是解析部分-现在使用结构创建一个列表,并检查是否已插入元素
0 - MATH101
1 - CSE100
2 - BLAW203
3 - STAT253
4 - MATH259
5 - HIST111
#包括
#包括
#包括
int main()
{
FILE*in=fopen(“newfile”、“r”);
FILE*out=fopen(“newfile2.txt”,“w”);
尺寸=1024;
char*lineBuf=malloc(1024*sizeof(char));
char*tmpVal;
char*maxVal;
int循环=0;
int=0;
内线=0;
while(getline(&lineBuf,&snby,in)!=-1)
{
如果(gar==0)
{
fprintf(输出,“%d-”,行);
line++;
gar++;
}
其他的
{
fprintf(输出,“\n%d-”,行);
line++;
}
line++;
整数分=0;
tmpVal=lineBuf;
while(马克!=2)
{
如果(*tmpVal='')标记++;
tmpVal++;
}
而(*tmpVal!='\n')
{
如果(*tmpVal=='')
{
fprintf(输出,“\n%d-”,行);
line++;
}
其他的
{
fprintf(out,“%c”,*tmpVal);
}
tmpVal++;
}
}
免费(lineBuf);
fclose(out);
fclose(in);
返回0;
}
这是一种方法:
如果需要,是扰流板代码。您试过了吗?我不知道。这是我项目的一部分。如果我能完成这部分,我将完成项目。我们不是来给你做作业的,你必须带点东西来。从非常高的层次来看待这个问题(不是从编程的角度,只是作为一个概念)。看看你是否能从高级到代码。
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int main()
{
FILE *in = fopen("newfile","r");
FILE *out = fopen("newfile2.txt","w");
size_t snby = 1024;
char *lineBuf = malloc(1024*sizeof(char));
char *tmpVal;
char *maxVal;
int loop = 0;
int gar = 0;
int line = 0;
while(getline(&lineBuf, &snby, in) != -1)
{
if (gar == 0)
{
fprintf(out, "%d - ", line);
line++;
gar++;
}
else
{
fprintf(out, "\n%d - ", line);
line++;
}
line++;
int mark = 0;
tmpVal = lineBuf;
while(mark != 2)
{
if (*tmpVal == ' ') mark++;
tmpVal++;
}
while(*tmpVal != '\n')
{
if(*tmpVal == ' ')
{
fprintf(out, "\n%d - ", line);
line++;
}
else
{
fprintf(out, "%c", *tmpVal);
}
tmpVal++;
}
}
free(lineBuf);
fclose(out);
fclose(in);
return 0;
}