私は基本的に、文字列がlで始まる場合に残りの文字列を格納するものを読み取るためのコードを書いています。これまでの私のコードは次のとおりです。
char input[80];
char fileName[80];
fgets(input, 80, stdin); //Need to use because only want to read maximum 80 characters
if(input[0] == 'l') {
printf("String length: %d\n", strlen(input));
printf("String input: %s", input);
strncpy(fileName, &input[1], (strlen(input)) -2);
fileName[strlen(input)-1] = '\0';
printf("Filename to save: %s \n", fileName);
}
ljudyjudyjudyjudy を入力すると、printf で得られるファイル名は judyjudyjudyjudyH です
異なる入力で動作することもありますが、余分な文字が表示されることがありますか?