私は、ユーザーが複数のデータファイルを保持するフォルダへの完全なパスを入力するプログラムを持っています。たとえば ためCのユーザー定義の後にプログラム内にファイル名を追加する方法
したがって、ユーザーが入力したと言う:
\\psf\Home\Desktop\HealthScore\HealthScore\DataFiles
私はプログラム内でそれを変更する必要があります:私は1つのポインタと一緒に文字列を追加しようとしました
\\psf\Home\Desktop\HealthScore\HealthScore\DataFiles\BT_1.txt
、もう一方は配列であり、両方の部分がポインタです。あなたは文字列を連結するstrcat()
を利用することができます
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);
}
}
実際の点2に、OPはできます'while(fgets(bp1_Line、100、fp)!= NULL){...}'のようにループを作成し、 'printf'キューをループの外側に移動させてください。 –
25種類の条件があるのですべてを統合しました。それらに応じてさまざまなファイルをテストして開く必要があるため、数百行のコードを読む必要がない、 。しかし、私は提案されたwhileループを試してみるだろうが、私は簡単にするためにループにprintfを残そうと思っている。 –