我在C程序中遇到問題。我已經在緩衝區中的字符串,並希望將字符串更改爲大寫,然後寫入套接字或將其標準輸出。請在下面的代碼中幫助我。如何在程序中將緩衝區字符串更改爲大寫?
char input[] = buffer;
int alpha_count = 0;
for (int i = 0, x = strlen(input); i < x; i++) {
if (isalpha(input[i])) {
if (alpha_count++ % 2 == 0)
input [i] = toupper(input[i]);
}
}
printf("%s\n", input);
缺少我相信你有你的理由(只改變每個*其他*字母字符),是否有你遇到的具體問題?你想要*整個*字符串大寫?如果是這樣,可能會失去'alpha_count'邏輯。 – WhozCraig
'char input [] = buffer;'中的初始化器是可疑的。你是否已經打開了套接字?你有沒有想過修改一個字符串文字並崩潰?另外,在數組名和索引方括號之間留出一個空格是非常規的:使用'input [i]'not'input [i]'。 –