gpt4 book ai didi

c - 扫描名称和奇怪的字符串: Files

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

我正在执行一项任务,对文本文件内的列表中的名称进行排序。我正在使用 CodeBlocks v17.12。我要求代码读取文件中的名字(在本例中恰好是 Hamza),当它看到空格时应该停止。然而,一旦我在 CodeBlocks 中编译它,它就会输出: Hamza uyªn<■   ║kDu¡lDu``@

有人知道这个问题是什么吗?我不能把它放在那里,因为稍后我需要整理名字。

{
fPointerOne = fopen("DT265A.txt", "r");
fPointerTwo = fopen("DT265C.txt", "r");
fPointerThree = fopen("DT265B.txt", "r");
fPointerFour = fopen("DT8900.txt", "r");

fgets(firstNames, 11, fPointerOne);
for (i = 0; i < SIZE; i++) {
ClassGroup1.firstName[i] = firstNames[i];
if (firstNames[i] == ' ') {
goto PRINT;
}
}
PRINT:
printf("%s", ClassGroup1.firstName);

fclose(fPointerOne);
fclose(fPointerTwo);
fclose(fPointerThree);
fclose(fPointerFour);
return 0;
}

最佳答案

在循环中,您将所有字符复制到空格中,但切勿将终止字符“\0”写入 ClassGroup1.firstName。因此,当您打印时,您将打印名称后面的所有垃圾,直到内存中的第一个 0x00 字符。

此外,fgets 中的 11 可能应该是此代码片段中的 SIZE。中断比跳转更好。

关于c - 扫描名称和奇怪的字符串: Files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55678317/

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