私はCでのプログラミングを始めたばかりで、暗号/暗号化プログラムを書いています。ユーザーは、char*として保存されているフレーズを入力するように求められます。問題は、プログラムが文字列の最初の単語のみを格納し、その後のすべてを無視することです。文字列をフェッチして分析するコードの部分は次のとおりです
int maincalc(int k) //The Calculation Function for Cyphering
{
char *s;
s=(char*) malloc(sizeof(100));
printf("Please enter the phrase that you would like to code: ");
fscanf(stdin,"%s %99[^\n]", s);
int i=0;
int n=strlen(s);
while(i<n)
{
if(s[i]>=65&&s[i]<=90) //For Uppercase letters
{
int u=s[i];
int c=uppercalc(u,k);
printf("%c",c);
}
else if(s[i]>=97&&s[i]<=122) //For Lowercase letters
{
int u=s[i];
int c=lowercalc(u,k);
printf("%c",c);
}
else
printf("%c",s[i]); //For non letters
i++;
}
free(s);
printf("\n");
return 0;
}
プログラムに最初の単語だけでなく文字列全体の存在を認識させるために何をすべきかを知る必要があります。ありがとう