C言語なら、俺に聞け! <15>
■ このスレッドは過去ログ倉庫に格納されています
0243デフォルトの名無しさん
NGNG行頭のスペースとタブを「 」に書き換えるコード作ってみた。
どっか変なところある?
#include <stdio.h>
#include <ctype.h>
#define LINESIZE 1024
#define TABSIZE 4
#define SPACESIZE 1
int istabsp(int);
int main(void){
char line[LINESIZE];
int line_ptr;
int tabsize = TABSIZE;
int spacesize = SPACESIZE;
while(fgets(line, sizeof(line), stdin) != NULL){
for(line_ptr = 0; 0 != istabsp(*(line + line_ptr)); ++line_ptr){
if(*(line + line_ptr) == '\t'){
while(0 < tabsize--){
fprintf(stdout, " ");
}
}else if(*(line + line_ptr) == ' '){
while(0 < spacesize--){
fprintf(stdout, " ");
}
}
tabsize = TABSIZE;
spacesize = SPACESIZE;
}
fprintf(stdout, "%s", line + line_ptr);
}
return 0;
}
int istabsp(int c){
if(c == '\t' || c == ' '){
return 1;
}else{
return 0;
}
}
このレス自身もこのプログラムとおしてみた。
■ このスレッドは過去ログ倉庫に格納されています