我有一个包含员工姓名的 .txt
文件。每行以换行结束。
我需要将名字和姓氏的前 3 个字符连接起来形成一个名字,例如,
Schmit,Eric
应该给出输出
EriSch.
大约有 50 行名称。
我如何使用 fgets()
或 getchar()
与
FILE *file = fopen ( "FileName.txt", "r" );
我还有一个功能
void ConcatName(char* firstname,char* lastname,char buffer[])
将 firstname
和 lastname
的前三个字符存储在 buffer
中并打印出来。
最佳答案
您可以使用strtok()
将字符串分成两个。因此,对于给定的员工,您应该这样做
char* token = strtok(EmployeeName, ',');
strcpy(SurName, token);
token = strtok(NULL, delim);
strcpy(FirstName, token);
在您只需要使用连接每个名称的前 3 个字符之后:
strncat(FinalName,FistName,3);
strncat(FinalName,SurName,3);
只需确保正确初始化 FirstName
、SurName
和 FinalName
并将代码放入循环中逐行读取:
while ((read = getline(&EmployeeName, &len, fp)) != -1) {'code'}
关于连接以逗号分隔的名称部分,这些名称保存在 C 中的文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33553179/