前提・実現したいこと
パスワードの変更プログラムを作成したのですが、macのTerminal上で起動すると以下のエラーが出るのに、なぜかWindows上では成功します。strcpy関数の部分を消すとmacでも成功するので、原因はそこだと考えています。なぜmac上だと失敗するのか、また、改善案があれば教えて欲しいです。
発生している問題・エラーメッセージ
zsh: illegal hardware instruction
該当のソースコード
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char filename[]="database.txt"; FILE *fp; int i; char pass[2][8]; char current_ps[8]="pswrd002"; char new_ps[8]; fp=fopen(filename,"r"); for(i=0;i<2;i++){ fscanf(fp,"%s",pass[i]); } fclose(fp); while(1){ printf("現在のパスワードを入力してください>"); scanf("%s",current_ps); if(strcmp(pass[1],current_ps)==0) break; }//パスワード認証 printf("新しいパスワードを入力してください>"); scanf("%s",new_ps); printf("新しいパスワードは%sとなりました。\n",new_ps); strcpy(current_ps,new_ps); printf("%s",new_ps); return 0; }
試したこと
windows上での実行(なぜか成功)
補足情報(FW/ツールのバージョンなど)
初心者です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/30 11:46