2016-06-20 5 views
2

内の特定の文字の後に文字列からテキストを削除します。行は次のようになり、私はファイルから行を読んでいますC

89f81a03eb30a03c8708dde38cf:000391716 

事がある:私は(:含む:後にすべてのものを削除したいです)。 私はオンラインで見つけられるものすべてを試しましたが、彼らはconst charを使用しているようで、行はcharポインターです。

+0

はどこから削除しますか?文字列(char配列)にある場合は、 '':''を ''\ 0' 'に置き換えてください。 –

+0

文字列を変更可能な文字配列に保存します。次に、ループを使用して各文字を一度に1つずつ繰り返します。目的の文字に達すると、その文字列にヌル文字を挿入します。 –

+0

行は文字列ですが、追加するのを忘れました。申し訳ありません。 –

答えて

6

あなたはstrchr使用することができます。

char str[] = "89f81a03eb30a03c8708dde38cf:000391716"; 
char *ptr; 

ptr = strchr(str, ':'); 
if (ptr != NULL) { 
    *ptr = '\0'; 
} 
+1

ありがとう!それはうまくいった。 –