gpt4 book ai didi

c - 读取多个字符串,直到 C 中的换行符

转载 作者:行者123 更新时间:2023-11-30 17:32:31 24 4
gpt4 key购买 nike

我想编写一段代码来读取字符串,直到出现 '\n' 为止(它不会保存它)。
读取第一个字符串后,假设“然后没有”我希望它读取“今天”
问题是我得到的是这样的:“今天没有”
我无法删除我插入的第一个内容。

这是我的代码:

for(j=1; j<=num; j++){

while ( getchar() != '\n' );
c=getchar();
k=0;
while(c!='\n'){
*(title+k)=c;
c=getchar();
k++;
}
fscanf(fp, "%d", &downloads);

insertText(&current->anAuthor->text, title, downloads);
strcpy(title, "");

}

最佳答案

在写入字符串后,您需要以零结尾,您现在得到的是旧字符串和新字符串的混合。例如,在 while 循环后添加 title[k] = '\0'

此外,您当前的代码无法确保 k 不超过 title 的分配大小,即 lurking buffer overflow bug .

关于c - 读取多个字符串,直到 C 中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24116246/

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