我在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]'。 –