mikan's technical note

仕事&趣味で実験した小技の備忘録です(Linux,windows,DOS等)

MENU

【C言語】行末のスペースと改行を削除

//
// 行末のスペースと改行を削除
// (c) 2017 mikan
// ※使用にあたっては利用者の自己責任でお願いします。
/
int SpaceDelete(char *str)
{
    int i;
    int len;

    // 文字列長
    len = strlen(str);
    if(len > 0) {
        i = len - 1;
    } else {
        return -1;
    }

    // 改行コード削除(LF,CR,CR+LF対応)
    if(str[i] == 0x0a) {
        str[i] = 0x00;
        i --;
    }
    if(str[i] == 0x0d) {
        str[i] = 0x00;
        i --;
    }

    // 行末のスペースを削除
    for(; i > 0 && str[i] == 0x20; i --) {
        str[i] = 0x00;
    }

    return 0;
}