gpt4 book ai didi

c - 如何打印包含特殊字符并从文件中读取的字符串?如何打印没有特殊字符?

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:07 24 4
gpt4 key购买 nike

我有以下功能:

int Printf(const char *s, int length)
{
int i=0;
while(i < length)
{
printf("%c", s[i]);
i++;
}
}

但是如果我用一个非空终止的字符串调用它,比如我从文件中读取的“Hello World\n”,它会打印 Hello World\n 而不会换行,所以它显式打印 \n。我的功能有什么问题?

最佳答案

没什么问题,但我猜 \n 本质上是在字符串中。当您在 C/C++ 程序中的字符串中写入 \n 时,编译器会将其替换为适当的换行符。但是,如果 \n 在您的文本中(本质上是 "\\n"),则不会发生这种情况。

字符串集在哪里?看来您可能必须自己处理转义字符。

顺便说一句。根据你的编译器,你应该能够使用这样的东西,它更简单:

printf("%*s", length, s);

编辑:请阅读您上面的评论。如果您从文件中读取字符串,则必须自己处理 \n -> 换行符替换。 printf() 不会为您处理。

关于c - 如何打印包含特殊字符并从文件中读取的字符串?如何打印没有特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258031/

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