私はすでに他の質問などを見てきましたが、strtokの最初の引数は編集できないが、私はこのコードではないと思うセグ障害が起こる? strtokを間違って使用していますか?strtok()segフォールト
このコードでは、stdinをcsvカンマ区切り形式で入力し、stdinから数字を追加してstdout、p.sに出力します。私はそれがトークンがポインタではないときに動作していました。 i+= token;
しかし、私は予想通りにランダムな出力を得ていました。
#include <stdio.h>
#include <string.h>
int main(){
char *token, input[256];
int i = 0;
scanf("%s" , input);
token = strtok (input, ",");
while(token != NULL){
token = strtok(NULL, ",");
i += *token;
}
printf("%d\n", i);
return 0;
}
おかげで、いくつかの点strtok
でラクラン
Doh!申し訳ありません。 – UNECS
私の知らないこと私の研究で見つからなかった 'strtol(token)'トークンを 'NULL'に変更しましたか? – UNECS
@ LachlanMcGivern 'strtol'は最初の引数を変更しません。 – cnicutar