※ ChatGPTを利用し、要約された質問です(原文:トークン)
Cプログラムでアポストロフィーを取り除く方法
このQ&Aのポイント
Cプログラムで、標準入力から入力された文から、アポストロフィーをだけをとって表示するプログラムを作成する方法を教えてください。
また、空白を無視して表示する方法も教えてください。
現在のプログラムでは、アポストロフィーを取り除くことができますが、空白が出力されてしまいます。どうすれば空白も無視できるようになるのでしょうか?
Cプログラムで、標準入力から入力された文から、アポストロフィーをだけをとって表示するプログラムを作っています。さらに、空白は無視して表示しない様にしたいんですけど、以下のようなプログラムだと
#include <stdio.h>
#include <string.h>
int main(void){
char str1[256],str2[256][256],*bp,*cp;
int i=0,h=0;
putchar('>');
cp = fgets(str1, 256, stdin);
while( (bp = strpbrk(cp ," \"\n")) ){
strncpy(str2[i], cp, bp-cp);
str2[i][bp-cp+1] = '\0';
printf("%s\n",str2[i]);
bp++;
cp = bp;
i++;
}
return 0;
}
>Commannd "ww"
Commannd
ww
という風になり空白がなぜか出力してしまいます。何故でしょうか?
お礼
解決しましたm(__)m