Skip to content

Commit 9b7f5dd

Browse files
committed
update file operation
1 parent 3313add commit 9b7f5dd

File tree

14 files changed

+74
-131
lines changed

14 files changed

+74
-131
lines changed

.idea/vcs.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cpp_json/JsonAPI/Json.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace JSON{
2626

2727
class json; /* json is a class with a unique_ptr points to Json_value object */
2828
using arr = vector<json>;
29-
using mem = unordered_map<string, json>; /* json-object: using unordered_map instead of dynamic array for the O(1) visit */
29+
using mem = unordered_map<string, json>; /* json-object: using std::unordered_map instead of std::vector for the O(1) visit */
3030
class Json_value {
3131
public:
3232
/** constructors and operators **/

cpp_json/JsonAPI/Jsonparser.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
#include "Jsonparser.h"
66
#include <exception>
7+
#include <fstream>
78

89
namespace Jsonparser{
10+
using ifstream = std::ifstream;
911

1012
PARSE_RESULT parser::parse(const char * json){
1113
PARSE_RESULT ret;
@@ -24,6 +26,19 @@ namespace Jsonparser{
2426
return ret;
2527
}
2628

29+
PARSE_RESULT parser::parse_file(const char * filename){
30+
string buffer;
31+
string str;
32+
ifstream is;
33+
is.open(filename, std::ios::in);
34+
if(!is.is_open()) cout << "file open fail!\n";
35+
while(is >> buffer){
36+
str += buffer;
37+
}
38+
cout << str << endl;
39+
return parse(str.c_str());
40+
}
41+
2742
PARSE_RESULT parser::parse_value(){
2843
switch(*stk.json){
2944
case 't': return parse_literal("true", JSON::JSON_TRUE);

cpp_json/JsonAPI/Jsonparser.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ constexpr int PARSER_STACK_INIT_SIZE = 256;
3535
public:
3636
PARSE_RESULT parse(const char * json); /* it is the central part of parse, we use it to call specialized parsers */
3737
parser(JSON::json & _j):j(_j) /*stk(*(new stack))*/{}
38+
PARSE_RESULT parse_file(const char * filename);
3839
private:
3940
stack_j stk;
4041
JSON::json & j; //avoid arguments pass by value

cpp_json/__init__.py

Whitespace-only changes.

cpp_json/cmake-build-debug/CMakeFiles/Makefile.cmake

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -7,91 +7,26 @@ set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
77
# The top level Makefile was generated from the following files:
88
set(CMAKE_MAKEFILE_DEPENDS
99
"CMakeCache.txt"
10-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompiler.cmake.in"
11-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompilerABI.c"
1210
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCInformation.cmake"
13-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCXXCompiler.cmake.in"
14-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCXXCompilerABI.cpp"
1511
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCXXInformation.cmake"
1612
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCommonLanguageInclude.cmake"
17-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCompilerIdDetection.cmake"
18-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCCompiler.cmake"
19-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCXXCompiler.cmake"
20-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCompileFeatures.cmake"
21-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCompiler.cmake"
22-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCompilerABI.cmake"
23-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineCompilerId.cmake"
24-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeDetermineSystem.cmake"
2513
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
26-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeFindBinUtils.cmake"
2714
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeFindCodeBlocks.cmake"
2815
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeGenericSystem.cmake"
2916
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeInitializeConfigs.cmake"
3017
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeLanguageInformation.cmake"
31-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeParseImplicitIncludeInfo.cmake"
32-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeParseImplicitLinkInfo.cmake"
33-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeSystem.cmake.in"
3418
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeSystemSpecificInformation.cmake"
3519
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeSystemSpecificInitialize.cmake"
36-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeTestCCompiler.cmake"
37-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeTestCXXCompiler.cmake"
38-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeTestCompilerCommon.cmake"
39-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeUnixFindMake.cmake"
40-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/ADSP-DetermineCompiler.cmake"
41-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
42-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
4320
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/AppleClang-C.cmake"
4421
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/AppleClang-CXX.cmake"
45-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
46-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Borland-DetermineCompiler.cmake"
47-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
4822
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
49-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Clang-DetermineCompiler.cmake"
50-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
5123
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Clang.cmake"
52-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
53-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
54-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
55-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Cray-DetermineCompiler.cmake"
56-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
57-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
58-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/GHS-DetermineCompiler.cmake"
59-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
60-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
6124
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/GNU.cmake"
62-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/HP-C-DetermineCompiler.cmake"
63-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
64-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/IAR-DetermineCompiler.cmake"
65-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
66-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
67-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Intel-DetermineCompiler.cmake"
68-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/MSVC-DetermineCompiler.cmake"
69-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
70-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
71-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/PGI-DetermineCompiler.cmake"
72-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/PathScale-DetermineCompiler.cmake"
73-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/SCO-DetermineCompiler.cmake"
74-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
75-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
76-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
77-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/TI-DetermineCompiler.cmake"
78-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
79-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
80-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
81-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Watcom-DetermineCompiler.cmake"
82-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/XL-C-DetermineCompiler.cmake"
83-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
84-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
85-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
86-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
87-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
88-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Internal/FeatureTesting.cmake"
8925
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-AppleClang-C.cmake"
9026
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-AppleClang-CXX.cmake"
9127
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-Clang-C.cmake"
9228
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-Clang-CXX.cmake"
9329
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-Clang.cmake"
94-
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Darwin-Determine-CXX.cmake"
9530
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Darwin-Initialize.cmake"
9631
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Darwin.cmake"
9732
"/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/UnixPaths.cmake"
@@ -110,11 +45,6 @@ set(CMAKE_MAKEFILE_OUTPUTS
11045

11146
# Byproducts of CMake generate step:
11247
set(CMAKE_MAKEFILE_PRODUCTS
113-
"CMakeFiles/3.19.2/CMakeSystem.cmake"
114-
"CMakeFiles/3.19.2/CMakeCCompiler.cmake"
115-
"CMakeFiles/3.19.2/CMakeCXXCompiler.cmake"
116-
"CMakeFiles/3.19.2/CMakeCCompiler.cmake"
117-
"CMakeFiles/3.19.2/CMakeCXXCompiler.cmake"
11848
"CMakeFiles/CMakeDirectoryInformation.cmake"
11949
)
12050

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,4 @@
11
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" "/Users/wocaibujiaoquanmei/iCloud 云盘(归档)/GitHub/cppjson/cpp_json"
2-
-- The C compiler identification is AppleClang 10.0.1.10010046
3-
-- The CXX compiler identification is AppleClang 10.0.1.10010046
4-
-- Detecting C compiler ABI info
5-
-- Detecting C compiler ABI info - done
6-
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
7-
-- Detecting C compile features
8-
-- Detecting C compile features - done
9-
-- Detecting CXX compiler ABI info
10-
-- Detecting CXX compiler ABI info - done
11-
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped
12-
-- Detecting CXX compile features
13-
-- Detecting CXX compile features - done
142
-- Configuring done
153
-- Generating done
164
-- Build files have been written to: /Users/wocaibujiaoquanmei/iCloud 云盘(归档)/GitHub/cppjson/cpp_json/cmake-build-debug
Binary file not shown.
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
Start testing: Dec 19 17:36 CST
1+
Start testing: Apr 02 11:16 CST
22
----------------------------------------------------------
3-
End testing: Dec 19 17:36 CST
3+
End testing: Apr 02 11:16 CST

0 commit comments

Comments
 (0)