gpt4 book ai didi

c - 如何在 C 中的用户定义后在程序中 append 文件名

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

我的程序让用户输入包含多个数据文件的文件夹的完整路径。

例如所以假设用户输入:

\\psf\Home\Desktop\HealthScore\HealthScore\DataFiles

我需要在程序中将其更改为:

\\psf\Home\Desktop\HealthScore\HealthScore\DataFiles\BT_1.txt

我试过将字符串与一个指针相加,另一个是数组,两部分都是指针。

这是我最近一次尝试的示例:

char filepath[1000];
FILE* fp;
char BP1_ext [] = "\\BP1.txt";

printf("Enter the path to the file holding the data files:");

fflush(stdin);
scanf("%s", filepath);
//////////////////////BLOOD PRESSURE//////////////////////
if (bpSensors == 1)
{
filepath = (filepath + BP1_ext);
fp = fopen(filepath, "r");
if (fp == NULL)

{
puts("ERROR OPENING FILES");
exit(EXIT_FAILURE);
}

else
{
while (!feof(fp))
{
printf("\n\nREADING BP_1.txt...");
fgets(bp1_Line, 100, fp);
sscanf(bp1_Line, "%s\t%s\t%s", bp1_Val1, bp1_Val2, bp1_Val3);
printf("%s\t%s\t%s\n", bp1_Val1, bp1_Val2, bp1_Val3);
}
fclose(fp);

}

}

最佳答案

您可以使用 strcat()连接字符串。示例用法将是

strcat (filepath, BP1_ext);

假设 filepath 有足够的空间来容纳连接的字符串。

也就是说,

  1. fflush(stdin)undefined behavior ,不要使用它。
  2. 请参阅 Why is “while ( !feof (file) )” always wrong?

关于c - 如何在 C 中的用户定义后在程序中 append 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874017/

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