Emr*_*ğan 0 c linked-list list scanf strtok
我希望使用文件操作在C中的链表.我想得到一条线并将其拆分并存储在结构中.但我不能分裂两个字符串.
我的文件是这样的:
1#Emre #Dogan
2#John#Smith
3#Ashley #Thomas
等...
我想使用fscanf从文件中读取一行.
fscanf(file,"%d#%s#%s",&number,name,surmane);
Run Code Online (Sandbox Code Playgroud)
但结果是
编号:1
姓名:Emre #Dogan
如何摆脱名称中的#元素并将其拆分为姓名和姓氏;
#include <stdio.h>
#include <string.h>
int main(void) {
FILE *fptr;
fptr = fopen("Input.txt", "r");
int number;
char *name;
char *surname;
char line_data[1024];
fgets(line_data, 1024, fptr);
number = atoi(strtok(line_data, "#"));
name = strtok(NULL, "#");
surname = strtok(NULL, "#");
printf("%d %s %s", number, name, surname);
}
Run Code Online (Sandbox Code Playgroud)
输出:
1 Emre Dogan
Run Code Online (Sandbox Code Playgroud)
编辑:将变量"number"从字符串转换为整数.