gpt4 book ai didi

c - 在 C 运行时输入一个特殊的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:32 25 4
gpt4 key购买 nike

在我的 C 代码中,我得到以下字符串作为输入:

"c:\tc\bin\a c j k.jpg"

我尝试使用 scanf 读取输入但它失败了(传递带引号和不带引号的输入),我正在寻找其他解决方案。

我的代码如下:

char keytext[16],zzz,source[100],dest[100];
short int a;
size_t readcount;

clrscr();
printf("input the key text(max 16 characters):");
scanf("%s",&keytext);

printf("input file name:");
scanf("%s",&source);

/*fgets(source,100,stdin);
namelen=strlen(source);
if(source[namelen-1]=='\n')
source[namelen-1]='\0';*/

printf("output file name:");
scanf("%s",&dest);

最佳答案

格式说明符 %s 将在遇到第一个空白字符时停止消耗输入,因此它只会读取到 C:\tc\bin\a。要阅读到 k.jpg,您可以使用扫描集:

char input[128];
if (1 == scanf("%127[^\n]", input))
{
}

格式说明符 "%127[^\n]" 表示读取到下一个换行符但不超过 127 个字符以防止缓冲区溢出。在使用它的输出之前,您应该检查 scanf() 的返回值,它返回分配的次数。

关于c - 在 C 运行时输入一个特殊的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234267/

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