前一个数组附加到我想要的数组。 我如何得到阵列的第一部分? (输出的第一部分)。
int main(void) {
FILE *fIn, *csis;
if (fopen_s(&csis,"csis.txt","w") != 0) {
printf("Failed to open csis.txt for writing.\n");
}
if (fopen_s(&fIn,"congress.txt","r") != 0) {
printf("Failed to open congress.txt for reading.\n");
}
else {
char processTxt[500] , txtUpperCase[500] ;
processFile(fIn, processTxt, txtUpperCase);
printf(txtUpperCase);
fprintf(csis,"%s",txtUpperCase);
cipher(txtUpperCase, 13);
/*outputCode(txtUpperCase);*/
fclose(fIn);
fclose(csis);
}
return 0;
}
void processFile(FILE *fIn, char *processTxt, char *txtUpperCase) {
int i = 0, j = 0;
fgets(processTxt, g_size, fIn);
for (i = 0; i < g_size; i++) {
if (processTxt[i] == '\0')
break;
processTxt[i] = toUpper(processTxt[i]);
}
processTxt[i] = '\0';
for (i = 0; i < g_size; i++) {
if (processTxt[i] == '\0')
break;
if (isUpperCase(processTxt[i])) {
txtUpperCase[j] = processTxt[i];
++j;
}
}
char isLowerCase(char input) {
return (input>= 'a' && input <= 'z');
}
char isUpperCase(char input) {
return (input>= 'A' && input <= 'Z');
}
char toUpper(char input) {
char upperCase = input;
if (isLowerCase(input))
upperCase = (char)((int)input - 32);
return upperCase;
}
输出: CONGRESSSHALLMAKENOLAWRESPECTINGANESTABLISHMENTOFRELIGIONORPROHIBITINGTHEFREEEXERCISETHEREFORABRIDGINGTHEFREEDOMOFSPEECHOROFTHEPRESSORTHERIGHTOFTHEPEOPLEPEACEABLYTOASSEMBLEANDTOPETITIONTHEGOVERNMENTFORAREDRESSOFGRIEVANCESÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌCONGRESS须立法规管任何宗教,或者其禁止自由行的编制;或者压制言论自由或新闻自由;或者人民的权利,以便集会,并为政府提出申诉,以减轻申诉。
}
答案 0 :(得分:1)
让我们一步一步来。
else
成功,您只会执行fopen
。代码中无法保证第一个成功答案 1 :(得分:1)
您似乎错过txtUpperCase
中的终止空字符。您的程序的特定行为未定义; fprintf
将打印它在内存中找到的任何内容,直到到达空字符,甚至超出数组的末尾。