// CppLine.cpp : このファイルには 'main' 関数が含まれています。プログラム実行の開始と終了がそこで行われます。 // #define _CRT_SECURE_NO_WARNINGS #include #include // isdigit()に必要 #define BUFSIZE 1024 // 1行に最大1024(終端を除けば1023)文字しかない前提 int main() { // C言語のファイル入力のための準備 FILE* fp; // FILE型構造体 // 読み込みモードでファイルを開く fp = fopen("C:\\test\\test.txt", "r"); // 失敗するとNULLを返す // ファイルを開くのに失敗したときの処理 if (fp == NULL) { fprintf(stderr, "Error: file not opened.\n"); return 1; } // fgets()で1行ずつ読み込む char tmp[BUFSIZE]; // fgets()はchar型配列に格納するのでchar型配列を用意 int num = 0; int sum = 0; while (fgets(tmp, BUFSIZE, fp) != NULL) { // ここでtmpを煮るなり焼くなりする printf("%s", tmp); // そのまま出力 // tmpの中身を確認 for (int i = 0; i < BUFSIZE; i++) { // 数字ならnumに数として格納 if (isdigit(tmp[i])) { num = num * 10; // 位を1つ大きくする num += tmp[i] - '0'; // 一の位に値を入れる } else { // 数字が終わった直後ならnumがsumに加算される // その後numを0にしているので直後以外はsumに0を加算 sum += num; num = 0; } if (tmp[i] == '\n') break; } } printf("\nsum: %d\n", sum); // ファイルを閉じる fclose(fp); return 0; } // プログラムの実行: Ctrl + F5 または [デバッグ] > [デバッグなしで開始] メニュー // プログラムのデバッグ: F5 または [デバッグ] > [デバッグの開始] メニュー // 作業を開始するためのヒント: // 1. ソリューション エクスプローラー ウィンドウを使用してファイルを追加/管理します // 2. チーム エクスプローラー ウィンドウを使用してソース管理に接続します // 3. 出力ウィンドウを使用して、ビルド出力とその他のメッセージを表示します // 4. エラー一覧ウィンドウを使用してエラーを表示します // 5. [プロジェクト] > [新しい項目の追加] と移動して新しいコード ファイルを作成するか、[プロジェクト] > [既存の項目の追加] と移動して既存のコード ファイルをプロジェクトに追加します // 6. 後ほどこのプロジェクトを再び開く場合、[ファイル] > [開く] > [プロジェクト] と移動して .sln ファイルを選択します