В настоящее время я работаю над проектом, в котором я беру файл .txt изображения ASCII и отправляю его в базу данных mySQL. У меня программа считывает каждую строку файла .txt и добавляет ее к командной строке mySQL. Все хорошо, пока я не конвертирую строку в c_string для чтения mySQL. После 1-го ряда следующие строки не заканчиваются присоединенной добавленной строкой, и я не совсем уверен, почему это так ... Накануне он работал, но результаты были несовместимыми.
Что я использую: Visual Studio 2017 Enterprise C ++
int main() {
int i = 0;
int lineNum;
ifstream test;
string stats;
string queryHolder;
string asciiHolder[68];
string query;
//Convert image to Ascii func
asciiArt();
conn = mysql_init(NULL);
if (conn == NULL)
{
std::cout << "Error!!\n";
exit(1);
}
connection = mysql_real_connect(conn, "localhost", "root", "password", "database1", 3306, NULL, 0);
if (connection == NULL) {
stats = "Connection MYSQL None Exist";
}
else
{
stats = "MYSQL Connected";
}
test.open("C:/Users/user/source/repos/asciiart/asciiart/image.txt");
if (!test)
{
cout << "Error";
return 0;
}
while (getline(test, queryHolder))
{
asciiHolder[i] = queryHolder;
i++;
}
lineNum = i;
for (i = 0; i < lineNum; i++)
{
cout << asciiHolder[i] << endl;
}
test.close();
for (i = 0; i < lineNum; i++)
{
query = "insert into table(image) values('";
query.append(asciiHolder[i]);
query = query+("')");
//Query comes out correctly ending each row with ')
//cout << query << endl;
//const char* finalQuery = query.c_str();
//cout << finalQuery << endl;
//c_str only has the first row end with ')
cout << query.c_str() << endl;
mysql_query(conn, query.c_str());
}
//Display mySQL table
mysql_query(conn, "select * from image");
result = mysql_use_result(conn);
while ((row = mysql_fetch_row(result)) != NULL)
{
cout << row[0] << endl;
}
mysql_close(conn);
return EXIT_SUCCESS;
}
Пример вывода запроса: заканчивается на ') во всех строках
insert into dragon(dragon) values(' ..::||||||||||::::::::....... ')
insert into dragon(dragon) values(' ..::|||||||||||||++=++============++|:.. ')
insert into dragon(dragon) values(' ..::|:::::::::::::::::|||||++++===$$$$=+: . ... ')
insert into dragon(dragon) values(' ..:::::::::::::::::::::::::::||||+++++==$$===| ')
insert into dragon(dragon) values(' .::::::::::::::::::|:::::|:::::::||+++++$====+:. ')
insert into dragon(dragon) values(' .::::::::::::::::::::||::::::::::::::|+++======: ')
insert into dragon(dragon) values(' .:|+++|:. .:::::::::::::::::::::::::|||||||||||||+++==$$$+.: ')
insert into dragon(dragon) values(' .::||+++. ::. .:|:::::::::::::::::|:::::||||||||||+|+++=+=======+. ')
insert into dragon(dragon) values(' .::::||||:.....:||||||||:::.. ::: .:||:::::::::|||||||||||||||||||++|+||++++++=======$+: ')
insert into dragon(dragon) values(' .:::::::|:::|||||||||||+++=====|: :|: :|||::::::|||||||||||||||||||:::::||||||||+===========+: ')
insert into dragon(dragon) values(' :::::::::|||||||:::|:||+++=====|..... .|:. .:||:::||||||||::::::::|||::::::::::::||||++++===$$$$$$$==+: ')
insert into dragon(dragon) values(' ::::::||||::::::::::::|||||+====| |||:|||||||||:::::::::::::::::::::::::||++++++===$$$$$$$++|:...::::. ')
insert into dragon(dragon) values(' .:::::|+:::::::::||||||||||+==$=: :||+++|||::::::::::::::::::::::::::::|::|:||+++==$$$===|. .. ')
insert into dragon(dragon) values(' |:.::+|:|||||::::||||||||||++==+:. .||+++||::::||||||||||||||::::::::::|+|||++++===$$$=+: . ')
insert into dragon(dragon) values(' ::.:||:|||||||||||::|||||+++++===|... ::|::|||:::::::::::::::::||||:||||||||||+====$$$$++: ')
insert into dragon(dragon) values(' . :::|+|||||||||:::::::::|::|||+++===|...... ........::||:|||||:::::::::::::::::::|++|++++++++++==$=$=: ')
insert into dragon(dragon) values(' :. |:|+|+++||||:::::::::::||||||||++====+:...... .........:||+|:::::|||::::::::::::::||||+==++=======$$$|=+ ')
insert into dragon(dragon) values(' ..:|||+++++|||||::::::::::::||||+++====$=+|...... . ..........:||||::::::::|||:::::::::::|||||+++==$$====$$$$$=: ')
insert into dragon(dragon) values(' :|++++||||||||||||||||||||||||++===|:::..................:|||+:::::::::::|||::::::::||||||++++=$$$$$$$$$$$+ ')
insert into dragon(dragon) values(' .:|++++||:::::|||||||++|++++++=$=+.....................:|||+|::::::::.::::|||::::|||||||++===$$$$$$$$$===: ')
insert into dragon(dragon) values(' .:||+++|::::::::::|||+=+++====|.....................::||++:::::::::::::::||||||||++=+=====$$+ |+|:||:|+. ')
insert into dragon(dragon) values(' .:||++++|:::::::::::|++=====|.....................::|+++|::::::::::::::::||+||+++=====$$$$=. :| ')
insert into dragon(dragon) values(' ::|+=+++|::::::::::|++===|.....................:::+|++:.::::::::::::::|||+++++=====$$$+|: : ')
insert into dragon(dragon) values(' ::||++++|:::::::::|||+==+....................:::|+|||:.:::::::::::|:|+++++====$=$$+= . ')
insert into dragon(dragon) values(' ..::::||++||:::::::::|+===:..................:::|+||+:..::::::::::|||||+====$$$$$$=+ ')
insert into dragon(dragon) values(' ....:::.:|||||::::|::::|+==+.................:::|+||||..:::::::::::||||+==$==$$$=$=. ')
insert into dragon(dragon) values(' .... .::.:||||||++=||||:+====:..............:|:::+||||:..::::::::::||+++==$$==$==:. ')
insert into dragon(dragon) values(' ..... .:::||||:||||||+:::+===+..............|::::|||||:....:::|||||||+===$=====$$= ')
insert into dragon(dragon) values(' ..... ..::|||||||||||:|||::|++|..............:::::::+|||:..::::::|++++++=$=$$==$$=$+ ')
insert into dragon(dragon) values(' .....::::||||||||||||||+++=|:+=|..............:::::..:++|||::::::::|++++===$$$$$$====| ')
insert into dragon(dragon) values(' ....:|||:::|||:::|:::||+++|:+=+.............:::::::|++|||::::::::|+++=====$==+|+||+:+: ')
insert into dragon(dragon) values(' .::..:.. :||||::::||:+++|+=+............::::::|++|||::.::::::||+===$$+|||. :. ')
insert into dragon(dragon) values(' ..::......:.:|++|:::||||+=|:+=:. ..... . .::::||++||::...:::::||++=+=$==|::::. : ')
insert into dragon(dragon) values(' .:::...:::|||::|||||+=++=+:|=|.........::::|++++|::::.::::||||++======|::::::::... . ')
insert into dragon(dragon) values(' ......::|+:..:::|||+++=|.:|==.......::||++++|||:::::::::||++|+=+====+|||:::::::::::.. ')
insert into dragon(dragon) values(' ....|+|:..:::|||+++=|+:||==|....:|+++++++|:.:::::::||++===++===+:||||||::::::::::::: ')
insert into dragon(dragon) values(' .:...:::::+=++==:::|+=$|.:|++|||++++|.:::::||||||+=========::||||||:::::::::::..: ')
insert into dragon(dragon) values(' . :::::||+++=||:::|+++=+++||+++++|:.::::|||||++++=====|+:::::::::::::::::::::::. ')
insert into dragon(dragon) values(' .:::::|++===||:|++++++++++++++|:.:::::|||||++======+=:..:::::::.....:::::::::.. ')
insert into dragon(dragon) values(' ..:::|:::|++==+++++|+|+===++++|::::::::|+++++=+|+===|.:....::::.......::::::::. ')
insert into dragon(dragon) values(' .::::::::+++++==+|||||++===|::::::::::|+===========:........:::.::::::::::::... ')
insert into dragon(dragon) values(' ..:::::::||+++++||||++||===+::::::::||++======|+|+:..........:::::::::::::::.. ')
insert into dragon(dragon) values(' .. .:::::|:::|||::::::+=+||+=+=:::::::|+++==++==+ .................:::::::::::.:. ')
insert into dragon(dragon) values(' ::|:||:. .:||::::::|:::::::|+$=|||+==|::::|++===$===|:.....................::::::::::. ')
insert into dragon(dragon) values(' :::::|||| :||||:||+|+|:..::||+=++||+==+|||||+====+. .. ....................::::::::::::.. ')
insert into dragon(dragon) values(' .::|:|: :||:::||++|+:::||++==++||+==+|||||====. ...... ................::::::::::::::.... ')
insert into dragon(dragon) values(' .:||::||||: |+|:|||++||+|:||||||=+||||++=++|+++==| . ................::::::..::::..... ')
insert into dragon(dragon) values(' . ..|||||:::||++++++=|||+|::::|++|||||++=++++==. . ..........:::::::::........ ')
insert into dragon(dragon) values(' .|::::|+||||||||++|||||||||:||::||||++++|+=. ............:::............ ')
insert into dragon(dragon) values(' .|::::|||| ..::||++|:::||:::..:|:::|++++=+|. ...........::.:....... ')
insert into dragon(dragon) values(' .:|||||. .:||:||||||::.:::::|||+==+++: ..........::::..... ')
insert into dragon(dragon) values(' .:|: .||||||:|:::::||:|::|++||+|:. ............. ')
insert into dragon(dragon) values(' .|+|||::::||:::|||+|||::. ........ ')
insert into dragon(dragon) values(' |+|++||||||||:|::|::|:|||. ')
insert into dragon(dragon) values(' :|||+=+++|++||:::|:::||||||. ')
insert into dragon(dragon) values(' :||||+|+|++||:::|::|||||++||: ')
insert into dragon(dragon) values(' ||||++|++|:|||::|:||||:||+|||. ')
insert into dragon(dragon) values(' .|||:. ||:.|+|:||+||::::||+||| ::.|::.:: ')
insert into dragon(dragon) values(' . |||:.||||+++||:::::||||: .||+|||:|::::::. ')
insert into dragon(dragon) values(' ||||:..:: .++|:::::::+||: ::||||||||:..:::|| ')
insert into dragon(dragon) values(' .++|||. |||:. :::::||||. |+||||||:. .:| ')
insert into dragon(dragon) values(' :|||:. .+|||: .:::::||:. :|||++||:. :. ')
insert into dragon(dragon) values(' .:..:. .||:.:. ::::||||: .||+||:|. ')
insert into dragon(dragon) values(' ||:. .|::|+|||.. :|||+|+:: ')
insert into dragon(dragon) values(' .. :|:|||+++++++++|:::. ')
insert into dragon(dragon) values(' .|||:||||++::||:. ')
insert into dragon(dragon) values(' .::|:|:::::. ')
Пример вывода query.c_str (): только заканчивается на ') после первой строки
insert into dragon(dragon) values(' ..::||||||||||::::::::....... ')
insert into dragon(dragon) values(' ..::|||||||||||||++=++============++|:..
insert into dragon(dragon) values(' ..::|:::::::::::::::::|||||++++===$$$$=+: . ...
insert into dragon(dragon) values(' ..:::::::::::::::::::::::::::||||+++++==$$===|
insert into dragon(dragon) values(' .::::::::::::::::::|:::::|:::::::||+++++$====+:.
insert into dragon(dragon) values(' .::::::::::::::::::::||::::::::::::::|+++======:
insert into dragon(dragon) values(' .:|+++|:. .:::::::::::::::::::::::::|||||||||||||+++==$$$+.:
insert into dragon(dragon) values(' .::||+++. ::. .:|:::::::::::::::::|:::::||||||||||+|+++=+=======+.
insert into dragon(dragon) values(' .::::||||:.....:||||||||:::.. ::: .:||:::::::::|||||||||||||||||||++|+||++++++=======$+:
insert into dragon(dragon) values(' .:::::::|:::|||||||||||+++=====|: :|: :|||::::::|||||||||||||||||||:::::||||||||+===========+:
insert into dragon(dragon) values(' :::::::::|||||||:::|:||+++=====|..... .|:. .:||:::||||||||::::::::|||::::::::::::||||++++===$$$$$$$==+:
Пример вывода из mysql: отображается только первая строка
mysql> select * from dragon;
+-------------------------------------------------------------------------------------------------------------------------------------------------+----+
| dragon | id |
+-------------------------------------------------------------------------------------------------------------------------------------------------+----+
| ..::||||||||||::::::::....... | 1 |
+-------------------------------------------------------------------------------------------------------------------------------------------------+----+
1 row in set (0.00 sec)
Редактирует После того, как мой код проходит через изображение в функцию преобразования ascii, каким-то образом вновь созданный txt-файл имеет нулевые терминаторы в конце каждой строки .. Просто зайдя в файл и добавив пробел в любую строку, а затем сохранив его, моя программа могла функционально работать. Я не понимаю, почему это происходит.