C语言程序去除空白字符和自定义函数名
#include <stdio.h> #include <string.h>
void removeWhitespace(char* str) { int i = 0, j = 0; while (str[i]) { if (str[i] != ' ' && str[i] != '\t' && str[i] != '\n') { str[j++] = str[i]; } i++; } str[j] = '\0'; }
void removeFunctionName(char* str, char* functionName) { int i = 0, j = 0; int functionNameLen = strlen(functionName); while (str[i]) { if (strncmp(&str[i], functionName, functionNameLen) == 0 && (str[i + functionNameLen] == ' ' || str[i + functionNameLen] == '(')) { i += functionNameLen; while (str[i] && str[i] != ')') { i++; } if (str[i] == ')') { i++; } continue; } str[j++] = str[i++]; } str[j] = '\0'; }
int main() { FILE* inputFile = fopen('input.c', 'r'); FILE* outputFile = fopen('output.c', 'w');
char line[100];
while (fgets(line, sizeof(line), inputFile)) {
removeWhitespace(line);
removeFunctionName(line, 'getMax');
removeFunctionName(line, 'getMin');
fputs(line, outputFile);
}
fclose(inputFile);
fclose(outputFile);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/o1Bh 著作权归作者所有。请勿转载和采集!