gpt4 book ai didi

C - 添加到 Char 数组和 Int

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:15 25 4
gpt4 key购买 nike

基本上,我有一个数组作为指向函数的指针传递,函数的第一个字母大写,该数组的 strlen 也被传递。

我想做的是,在大写之后,将“1”附加到数组的末尾,这样 hello 就变成了 Hello1。但我不确定如何在代码中做这样的事情,或者它是否可能。

...
char myString[70]; <-- Array being passed, where the string is never > 64 char's.
...

void capFirst(char *s, int i) {
s[0] = (toupper(s[0]));
}

编辑:下面的解决方案执行以下操作:

1Security
1Sebastian
1Schumacher
1Sanderson

编辑:

void capFirst(char *s, int i) {
s[0] = toupper(s[0]);
s[i] = 1;
s[i+1] = '\0';
}


int main(int argc, char** argv) {
int i;
int j = 0;
char fileSave[256];
char myString[50];
FILE *fpIn, *fpOut;
for(i = 1; i < argc; i++) {
fpIn = fopen(argv[i], "rb");
snprintf(fileSave, 256, "%s~[%d]", argv[i], i);
fpOut= fopen(fileSave, "wb");
while((fgets(myString, 49, fpIn)) != NULL) {
if(isspace(myString[0]))
break;
j = strlen(myString);
if( (j > 8) && (j < 64) ) {
capFirst(myString, strlen(myString));
fprintf(fpOut, "%s", myString);
}
}

}
return 0;
}

更新:

void capFirstappOne(char *s, int i) {
s[0] = toupper(s[0]);
s[i] = '1';
s[i+1] = '\0';
}


int main(int argc, char** argv) {
int i; int j = 0;
char fileSave[256];
char myString[50];
FILE *fpIn, *fpOut;
for(i = 1; i < argc; i++) {
fpIn = fopen(argv[i], "rb");
snprintf(fileSave, 256, "%s~[%d]", argv[i], i);
fpOut= fopen(fileSave, "wb");
while((fgets(myString, 64, fpIn)) != NULL) {
j = strlen(myString);
if (j > 0 && (myString[j-1] == '\n')) {
myString[j-1] = '\0';
}
if( j > 8) {
capFirstappOne(myString, strlen(myString));
fprintf(fpOut, "%s\n", myString);
}
}

}
return 0;
}

最佳答案

试试这个(如果数组足够大):

s[i] = '1';
s[i + 1] = 0;

关于C - 添加到 Char 数组和 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com